{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Inference and Validation\n",
    "\n",
    "Now that you have a trained network, you can use it for making predictions. This is typically called **inference**, a term borrowed from statistics. However, neural networks have a tendency to perform *too well* on the training data and aren't able to generalize to data that hasn't been seen before. This is called **overfitting** and it impairs inference performance. To test for overfitting while training, we measure the performance on data not in the training set called the **validation** set. We avoid overfitting through regularization such as dropout while monitoring the validation performance during training. In this notebook, I'll show you how to do this in PyTorch. \n",
    "\n",
    "As usual, let's start by loading the dataset through torchvision. You'll learn more about torchvision and loading data in a later part. This time we'll be taking advantage of the test set which you can get by setting `train=False` here:\n",
    "\n",
    "```python\n",
    "testset = datasets.FashionMNIST('~/.pytorch/F_MNIST_data/', download=True, train=False, transform=transform)\n",
    "```\n",
    "\n",
    "The test set contains images just like the training set. Typically you'll see 10-20% of the original dataset held out for testing and validation with the rest being used for training."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "from torchvision import datasets, transforms\n",
    "\n",
    "# Define a transform to normalize the data\n",
    "transform = transforms.Compose([transforms.ToTensor(),\n",
    "                                transforms.Normalize((0.5,), (0.5,))])\n",
    "# Download and load the training data\n",
    "trainset = datasets.FashionMNIST('~/.pytorch/F_MNIST_data/', download=True, train=True, transform=transform)\n",
    "trainloader = torch.utils.data.DataLoader(trainset, batch_size=64, shuffle=True)\n",
    "\n",
    "# Download and load the test data\n",
    "testset = datasets.FashionMNIST('~/.pytorch/F_MNIST_data/', download=True, train=False, transform=transform)\n",
    "testloader = torch.utils.data.DataLoader(testset, batch_size=64, shuffle=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here I'll create a model like normal, using the same one from my solution for part 4."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from torch import nn, optim\n",
    "import torch.nn.functional as F\n",
    "\n",
    "class Classifier(nn.Module):\n",
    "    def __init__(self):\n",
    "        super().__init__()\n",
    "        self.fc1 = nn.Linear(784, 256)\n",
    "        self.fc2 = nn.Linear(256, 128)\n",
    "        self.fc3 = nn.Linear(128, 64)\n",
    "        self.fc4 = nn.Linear(64, 10)\n",
    "        \n",
    "    def forward(self, x):\n",
    "        # make sure input tensor is flattened\n",
    "        x = x.view(x.shape[0], -1)\n",
    "        \n",
    "        x = F.relu(self.fc1(x))\n",
    "        x = F.relu(self.fc2(x))\n",
    "        x = F.relu(self.fc3(x))\n",
    "        x = F.log_softmax(self.fc4(x), dim=1)\n",
    "        \n",
    "        return x"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The goal of validation is to measure the model's performance on data that isn't part of the training set. Performance here is up to the developer to define though. Typically this is just accuracy, the percentage of classes the network predicted correctly. Other options are [precision and recall](https://en.wikipedia.org/wiki/Precision_and_recall#Definition_(classification_context)) and top-5 error rate. We'll focus on accuracy here. First I'll do a forward pass with one batch from the test set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = Classifier()\n",
    "\n",
    "images, labels = next(iter(testloader))\n",
    "# Get the class probabilities\n",
    "ps = torch.exp(model(images))\n",
    "# Make sure the shape is appropriate, we should get 10 class probabilities for 64 examples\n",
    "print(ps.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With the probabilities, we can get the most likely class using the `ps.topk` method. This returns the $k$ highest values. Since we just want the most likely class, we can use `ps.topk(1)`. This returns a tuple of the top-$k$ values and the top-$k$ indices. If the highest value is the fifth element, we'll get back 4 as the index."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "top_p, top_class = ps.topk(1, dim=1)\n",
    "# Look at the most likely classes for the first 10 examples\n",
    "print(top_class[:10,:])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can check if the predicted classes match the labels. This is simple to do by equating `top_class` and `labels`, but we have to be careful of the shapes. Here `top_class` is a 2D tensor with shape `(64, 1)` while `labels` is 1D with shape `(64)`. To get the equality to work out the way we want, `top_class` and `labels` must have the same shape.\n",
    "\n",
    "If we do\n",
    "\n",
    "```python\n",
    "equals = top_class == labels\n",
    "```\n",
    "\n",
    "`equals` will have shape `(64, 64)`, try it yourself. What it's doing is comparing the one element in each row of `top_class` with each element in `labels` which returns 64 True/False boolean values for each row."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "equals = top_class == labels.view(*top_class.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we need to calculate the percentage of correct predictions. `equals` has binary values, either 0 or 1. This means that if we just sum up all the values and divide by the number of values, we get the percentage of correct predictions. This is the same operation as taking the mean, so we can get the accuracy with a call to `torch.mean`. If only it was that simple. If you try `torch.mean(equals)`, you'll get an error\n",
    "\n",
    "```\n",
    "RuntimeError: mean is not implemented for type torch.ByteTensor\n",
    "```\n",
    "\n",
    "This happens because `equals` has type `torch.ByteTensor` but `torch.mean` isn't implement for tensors with that type. So we'll need to convert `equals` to a float tensor. Note that when we take `torch.mean` it returns a scalar tensor, to get the actual value as a float we'll need to do `accuracy.item()`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "accuracy = torch.mean(equals.type(torch.FloatTensor))\n",
    "print(f'Accuracy: {accuracy.item()*100}%')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The network is untrained so it's making random guesses and we should see an accuracy around 10%. Now let's train our network and include our validation pass so we can measure how well the network is performing on the test set. Since we're not updating our parameters in the validation pass, we can speed up the  by turning off gradients using `torch.no_grad()`:\n",
    "\n",
    "```python\n",
    "# turn off gradients\n",
    "with torch.no_grad():\n",
    "    # validation pass here\n",
    "    for images, labels in testloader:\n",
    "        ...\n",
    "```\n",
    "\n",
    ">**Exercise:** Implement the validation loop below. You can largely copy and paste the code from above, but I suggest typing it in because writing it out yourself is essential for building the skill. In general you'll always learn more by typing it rather than copy-pasting."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = Classifier()\n",
    "criterion = nn.NLLLoss(reduction='sum')\n",
    "optimizer = optim.Adam(model.parameters(), lr=0.003)\n",
    "\n",
    "epochs = 30\n",
    "\n",
    "train_losses, test_losses = [], []\n",
    "for e in range(epochs):\n",
    "    tot_train_loss = 0\n",
    "    for images, labels in trainloader:\n",
    "        optimizer.zero_grad()\n",
    "        \n",
    "        log_ps = model(images)\n",
    "        loss = criterion(log_ps, labels)\n",
    "        tot_train_loss += loss.item()\n",
    "        \n",
    "        loss.backward()\n",
    "        optimizer.step()\n",
    "    else:\n",
    "        tot_test_loss = 0\n",
    "        test_correct = 0  # Number of correct predictions on the test set\n",
    "        \n",
    "        # Turn off gradients for validation, saves memory and computations\n",
    "        with torch.no_grad():\n",
    "            for images, labels in testloader:\n",
    "                log_ps = model(images)\n",
    "                loss = criterion(log_ps, labels)\n",
    "                tot_test_loss += loss.item()\n",
    "\n",
    "                ps = torch.exp(log_ps)\n",
    "                top_p, top_class = ps.topk(1, dim=1)\n",
    "                equals = top_class == labels.view(*top_class.shape)\n",
    "                test_correct += equals.sum().item()\n",
    "\n",
    "        # Get mean loss to enable comparison between train and test sets\n",
    "        train_loss = tot_train_loss / len(trainloader.dataset)\n",
    "        test_loss = tot_test_loss / len(testloader.dataset)\n",
    "\n",
    "        # At completion of epoch\n",
    "        train_losses.append(train_loss)\n",
    "        test_losses.append(test_loss)\n",
    "\n",
    "        print(\"Epoch: {}/{}.. \".format(e+1, epochs),\n",
    "              \"Training Loss: {:.3f}.. \".format(train_loss),\n",
    "              \"Test Loss: {:.3f}.. \".format(test_loss),\n",
    "              \"Test Accuracy: {:.3f}\".format(test_correct / len(testloader.dataset)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "%config InlineBackend.figure_format = 'retina'\n",
    "\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x12260fd68>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvgAAAH0CAYAAABICFkFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzs3Xd4lFXax/HvSUISeotAIlKlKSBNEESqoCICCrg27F1WRV19dxXL6qqrsmvBtqJYsIEisFhXeu8iKCCC1NBrgBBSzvvHmcnMpEAgk0wm8/tcV66Zp8zznFCSe+65z32MtRYRERERESkdokI9ABERERERCR4F+CIiIiIipYgCfBERERGRUkQBvoiIiIhIKaIAX0RERESkFFGALyIiIiJSiijAFxEREREpRRTgi4iIiIiUIgrwRURERERKEQX4IiIiIiKliAJ8EREREZFSRAG+iIiIiEgpogBfRERERKQUUYAvIiIiIlKKKMAXERERESlFFOCLiIiIiJQiMaEeQElnjPkDqARsCPFQRERERKR0qwcctNbWL8xFFOCfWKWyZctWa9asWbVQD0RERERESq9Vq1aRmppa6OsowD+xDc2aNau2ZMmSUI9DREREREqxtm3bsnTp0g2FvY5q8EVEREREShEF+CIiIiIipYgCfBERERGRUkQBvoiIiIhIKaIAX0RERESkFFGALyIiIiJSiijAFxEREREpRRTgi4iIiIiUIgrwRURERERKEQX4IiIiIiKliAJ8EREREZFSRAG+iIiIiEgpogBfRERERKQUUYAvIiIiIlKKKMAXERERESlFFOCXYMcyskjenxrqYYiIiIhIGFGAXwKlZWRy7j9+pMnwb+n64jSysmyohyQiIiJF7NChQxhj6Nu3b6Gv1a5dOypUqBCEUQXPyJEjMcbwxRdfhHoopZ4C/BIoLiaa9MwsrIX0TMvuQ2mhHpKIiEipZYw5qa/3338/1EMWOa6YUA9A8pZYuSz7j6QDkHzgKDUqxYd4RCIiIqXTE088kWvfyy+/zIEDB7jvvvuoUqVKwLFWrVoVyTjKly/PqlWrgpJ5//LLL0lLU4IwUinAL6GSKsezattBALbtT6XVGVVO8AoRERE5FU8++WSufe+//z4HDhzg/vvvp169esUyDmMMTZs2Dcq16tatG5TrSHhSiU4JlVjFl7FPPnA0hCMRERGRvHjr3FNTU3nsscc488wziY2NZejQoQDs2bOH559/nq5du5KUlERsbCw1a9Zk4MCBLF26NNf18qvBf+ihhzDGsHjxYj7++GPatm1L2bJlSUhIYMiQIezcuTPfsfmbPHkyxhheeuklFi5cyEUXXUTlypWpUKECF154IUuWLMnz+9y0aRPXXXcdCQkJlCtXjrZt2/L5558HXK+w5s2bR//+/UlISCAuLo4GDRpw//33s2vXrlznJicnc99999G4cWPKlStH1apVadasGbfccgubN2/OPi8rK4t33nmHDh06kJCQQNmyZalTpw59+vRhwoQJhR5zSaYMfgmVWLls9vNt6qQjIiJSImVlZdG3b1/WrFnDRRddRPXq1bOz58uWLeOJJ56gW7du9O/fn8qVK/PHH38wadIkJk+ezP/+9z+6dOlS4Hu98MILTJ48mf79+9O9e3fmzJnDmDFjWLlyJYsXLyY6OrpA15k9ezaPPfYY3bp147bbbmP9+vVMmDCBbt26sXLlyoDs/5YtW+jYsSPJycn07NmTc889l61bt3LDDTdwySWXnNwfVj7Gjh3LtddeS3R0NIMHD6Z27drMnz+fV155hYkTJzJnzhySkpIAOHjwIB06dCA5OZnevXszYMAA0tPT2bhxI1988QVDhgzhjDPOAOD+++/ntddeo1GjRlx99dVUqFCB5ORkFixYwIQJExgwYEBQxl8SKcAvoRIr+zL425TBFxERKZFSU1NJSUlh5cqVuWr127Rpw/bt26latWrA/nXr1tGhQwcefPBBFi1aVOB7TZkyhZ9++onGjRsDYK1lwIABTJo0ie+//54+ffoU6DoTJ05k3LhxDBo0KHvfiBEjeOihh3j99dd54YUXsvc/+OCDJCcn8/e//53hw4dn77/77rvp3Llzgceen71793LrrbdijGH27Nm0a9cu+9jw4cN55plnGDp0KOPHjwfg66+/ZsuWLTz22GM8/fTTAdc6evQoGRkZgC9737BhQ1asWEFcXFzAubt37y702EsyBfgllH8GP/mAMvgiIhIa9f7v61APocA2PH9pSO773HPP5QruAapVq5bn+Q0bNqRfv36MHj2aPXv2UL169QLd5y9/+Ut2cA+uZv/WW29l0qRJLFy4sMAB/kUXXRQQ3APcfvvtPPTQQyxcuDB7X0pKCuPH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xsQWwb1LpJoV44jytNfdfegYaRkFX8RCREREJBjuvvtu9u7dy8cff8wrr7zCggUL6Nu3LzNnzmTAgAGhHp7koTjecnlXgDhRDXy03+Ot1trJnu2DxpgbcEF/O9zE2U+DfG/yq3XyZPbbFPB+QRUTHUWNivFsP+jKc7YfOErd6uVDMRQRERGJUM899xzPPfdcqIchJyEYGXxvlrxyPscr5TgvP/s8j2nAN/4HPBNkJ3o22xfBvUusxCp+vfD3qw5fRERERI4vGAH+Gs9j43yON/I85lcnn/M6KTkn63p43wD4r0oQrHuXWEmVVYcvIiIiIgUXjAB/muexd85ON542mecDqcD8E1znZ2A3kGCMqZnH8eaexw1++6Z6Hi/OebKnTWZjXJvM9Se4d4mlXvgiIiIicjIKHeBba9cBPwD1gHtyHH4KKA986N8D3xjT1BgT0J3GWpsBvO3ZfMH/zYIxpgVwI5CBW63WawawCuhijOnnd34U8E/P5lun2gO/JFAnHRERERE5GcGaZHs3MBd41RjTExd0dwC648pjHs1x/irPo8mx/1mgJ3A90MIYMx04DTexNh540L9NprU20xhzEy6T/4Ux5gtgk+ca7XA9+P8dpO8xJAJ64asGX0REREROIBglOt4sfjvgfVxg/yDQEHgV6Git3VPA6xzBBedP4RbHugfoh3vz0Mda+688XrMA10N/Iq7f/jDcpNu/A72stWmF+d5CzT+Dn6wSHRERERE5gaC1ybTWbgZuKuC5OTP3/seOAE96vgp671+BwQU9P5wErmarEh0REREROb6gZPCl6CRUiKNMtHs/tP9IOqnHtNiViIiIiORPAX4JFxVlqFnJrxe+svgiIiIichwK8MNAQC98TbQVEREJW7///jvGGG699daA/ddddx3GGLZs2VLga9WuXZszzzwz2EMMkN94Q+nHH3/EGMMzzzwT6qGUWArww0Ctysrgi4iIFJVrrrkGYwxvvvnmCc/t1asXxhgmTJhQDCMrehkZGRhjuPDCC0M9FAkiBfhhILGKWmWKiIgUldtvvx2Ad95557jnbdiwgSlTppCYmEjfvn2DOoYXX3yRVatWUatWraBet7Dq1q3LqlWrlC0PMwrww0BAiY4y+CIiIkHVrVs3GjduzLJly1i6dGm+57377rtYa7npppuIiQlaI0IAEhMTadq0adCvW1hlypShadOmJe6NhxyfAvwwkBhQoqMMvoiISLDddtttQP5Z/MzMTEaPHp2rHn3r1q089dRTdOrUiVq1ahEbG8vpp5/Otddey+rVqwt8//xq8K21vPrqq5x11lnExcVx+umnc++993Lw4ME8r7N//35eeOEFunfvzumnn05sbCw1atRgwIABLFy4MODcUaNGUaZMGQCmTJmCMSb7y5uxP14NfnJyMnfddRd169YlLi6OGjVqMHDgQJYtW5br3FGjRmGMYcyYMUyZMoWuXbtSoUIFKleuzGWXXcaaNWsK/Gd1PGvWrGHIkCEkJSURGxtLUlISN9xwA+vWrct17sGDB3nqqado3rw5FStWpGLFipx55plcffXVub6HCRMm0KNHD2rVqpX999CtWzfeeuutoIw72ErW20TJU1IV/0m2yuCLiIgE2w033MCjjz7KJ598wogRIyhXrlzA8W+//ZatW7fSq1cv6tevn71/2rRp2QF169atKV++PGvXrmXs2LH897//Ze7cuTRv3vyUxzV06FDeeOMNkpKSuOOOO4iJiWHChAksXLiQ9PR04uPjA85fuXIljz32GF27duWyyy6jSpUqbNy4kUmTJvHNN9/wzTffZNfbt2nThuHDh/P0009Tv359rr/++uzrdOnS5bjjWrduHZ07d2b79u1ceOGFXHPNNWzatIlx48bx9ddf89VXX3HJJZfket2ECROYOHEiffr04a677mLlypVMnjyZRYsW8euvv1KtWrVT/rOaP38+vXv35tChQ/Tv35+mTZuyevVqPvroIyZNmsSUKVNo06YN4N449e7dmwULFtCpUyduu+02oqOj2bJlC9OmTaNr1660bt0agDfeeIN77rmHxMRE+vXrR0JCAjt37mT58uV88MEH3Hnnnac85iJjrdXXcb6AJW3atLGhtDvlqK37yGRb95HJ9uzHvwvpWEREREqrK6+80gJ29OjRuY7169fPAnbcuHEB+7dv325TUlJynb906VJbrlw527dv34D9a9eutYC95ZZbAvZfe+21FrCbN2/O3jdjxgwL2EaNGtm9e/dm7z9y5Ig999xzLWAbNmwYcJ19+/bZ3bt35xrPhg0bbM2aNW3z5s0D9qenp1vA9uzZM9drjjfeHj16WMA+//zzAftnzpxpo6KibEJCgj18+HD2/nfeeccCNiYmxk6bNi3gNQ899JAF7IgRI/IcQ07/+9//LGCffvrp7H2ZmZm2UaNGFrCfffZZwPljxoyxgD377LNtVlaWtdb9/QB20KBBua6fkZER8OfdsmVLGx8fb3ft2pXr3Lz2FUabNm0ssMQWMn5VBj8MVCsfS1xMFGkZWRxKy+Dg0XQqxZcJ9bBERCQSPFk51CMouCcPFOrlt99+O2PHjmXUqFHceOON2fu3bdvGN998Q82aNenfv3/Aa2rWrJnntVq3bk3Xrl2ZMmUKmZmZREdHn/R4Ro8eDcDw4cOpWrVq9v6yZcvy7LPP0qtXr1yvqVKlSp7Xqlu3LldccQVvvvkmycnJJCUlnfR4vDZs2MDUqVOpX78+Dz74YMCxCy64gCuvvJLPPvuMCRMmcM011wQcv/baa+nWrVvAvttvv52XXnopVwnRyZg1axZr167lggsu4E9/+lOue44cOZL58+czb948OnXqlH2sbNmyOS9FdHR0wJ83uLkI3nImfwkJCac85qKkGvwwYIwJqMNXJx0REZHg69GjBw0bNmTOnDmsWrUqe//o0aPJyMjgxhtvzDPImzRpEpdeeim1atWiTJky2XXs3377Lampqezdu/eUxuOd8Nu1a9dcx7p06UJUVN5h3KxZsxg8eDBnnHEGcXFx2ePxtgHdunXrKY3Hy1uf3qVLlzwnBffo0SPgPH/t2rXLte+MM84AYN++fac8Ju+flffeJxpTixYtaNGiBR999BEXXHABL774IvPmzSM9PT3Xa6+99lpSUlI466yzeOCBB5g4cSK7d+8+5bEWBwX4YSLRr5OOeuGLiIgEn/9k0lGjRgGulPm9997Ld6Lpv/71L/r378/8+fPp2rUrw4YN4/HHH+eJJ56gRYsWAKSlpZ3SeA4ccJ9I5PUpQWxsbK4sM8C4cePo1q0b3377Le3atWPo0KEMHz6cJ554ggsuuKBQ48k5rsTExDyPe/fv378/17G8PmHwvknIzMwstjHFxMQwffp07r33Xv744w8efvhhOnXqREJCAvfddx+HDx/Ofu3DDz/M6NGjqV27Ni+//DIDBgygRo0a9OzZ87hdl0JJJTphQr3wRUQkJApZ9hJubrrpJh5//HE+/PBDnnvuOWbNmsW6devo0aNHrlVj09PTefLJJ0lKSmLp0qW5AvFZs2YVaiyVK7vyqB07dlCnTp2AY8eOHWPfvn25Aubhw4cTHx/PkiVLaNKkScCxzZs3F3pM/uPavn17nse3bdsWcF5xOJUxVatWjVdeeYVXXnmFtWvXMn36dN5++21effVVDh48mF0iBXDjjTdy4403sm/fPubOncv48eMZPXo0F110EatXr6Z69epF+N2dPGXww4R64YuIiBS9mjVr0q9fP3bv3s2ECROyM/nexbD87dixg5SUFDp37pwruD948GCeJSonw9vxZcaMGbmOzZw5k6ysrFz7161bR/PmzXMF95mZmcyZMyfX+d4yn5PJnnu7y8yaNSvP102bNi1g/MXBO6bp06fnedy7P78xNWrUiNtuu40ZM2ZQtmzZfFcqrlq1KpdeeinvvvsuQ4YMYffu3cyePbvQ4w82Bfhhwj+Dn6wMvoiISJHx9sQfMWIEX331FQkJCVx++eW5zktMTCQ+Pp5FixYFlHQcO3aMP//5z4WqKQf3aQLA008/HVDukpqayt/+9rc8X1O3bl3WrFkTkMm21vL444/n2Ws+KiqKqlWrsmnTpgKPq169enTv3p1169bx2muvBRybM2cOn3/+OdWrV881IbkodenShTPPPJPp06fnCs4/++wz5s6dS7NmzejYsSPg3gj5z7Pw2rdvH+np6QFtUr/77jsyMjICzrPWsnPnToBcLVVLApXohAll8EVERIpH7969qV+/fnZXl6FDhxIbG5vrvOjoaIYOHcpLL71EixYt6NevH2lpaUydOpUDBw7QtWvXPLPvBdWlSxfuuusu3nzzTc4++2wGDRqU3Qf/tNNOo0aNGrleM2zYMIYOHUqrVq0YOHAgMTExzJo1i99++42+ffsyefLkXK/p2bMnX3zxBf3796d169bExMTQrVs3OnfunO/Y3n77bTp37sywYcP49ttvadu2bXYf/JiYGN5//33Kly9/yt/7yYqKiuKDDz6gd+/eDBw4kAEDBtCkSRNWr17NxIkTqVSpEh9++CHGGMBNth08eDDt2rWjefPmJCYmsnPnTiZOnEhGRgaPPPJI9rUHDRpExYoV6dy5M/Xq1SMzM5NZs2axePFi2rdvT/fu3Yvt+ywoZfDDREANvlazFRERKTLGGG655ZbsbW9GPy/PPfccL7zwAnFxcbz99ttMmDCBDh06sGjRImrXrl3osYwcOZKXX36ZSpUq8dZbb/HZZ5/Rp08ffvjhhzw7+txzzz28++671KxZk9GjR/Px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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 250,
       "width": 380
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(train_losses, label='Training loss')\n",
    "plt.plot(test_losses, label='Validation loss')\n",
    "plt.legend(frameon=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Overfitting\n",
    "\n",
    "If we look at the training and validation losses as we train the network, we can see a phenomenon known as overfitting.\n",
    "\n",
    "<img src='assets/overfitting.png' width=450px>\n",
    "\n",
    "The network learns the training set better and better, resulting in lower training losses. However, it starts having problems generalizing to data outside the training set leading to the validation loss increasing. The ultimate goal of any deep learning model is to make predictions on new data, so we should strive to get the lowest validation loss possible. One option is to use the version of the model with the lowest validation loss, here the one around 8-10 training epochs. This strategy is called *early-stopping*. In practice, you'd save the model frequently as you're training then later choose the model with the lowest validation loss.\n",
    "\n",
    "The most common method to reduce overfitting (outside of early-stopping) is *dropout*, where we randomly drop input units. This forces the network to share information between weights, increasing it's ability to generalize to new data. Adding dropout in PyTorch is straightforward using the [`nn.Dropout`](https://pytorch.org/docs/stable/nn.html#torch.nn.Dropout) module.\n",
    "\n",
    "```python\n",
    "class Classifier(nn.Module):\n",
    "    def __init__(self):\n",
    "        super().__init__()\n",
    "        self.fc1 = nn.Linear(784, 256)\n",
    "        self.fc2 = nn.Linear(256, 128)\n",
    "        self.fc3 = nn.Linear(128, 64)\n",
    "        self.fc4 = nn.Linear(64, 10)\n",
    "        \n",
    "        # Dropout module with 0.2 drop probability\n",
    "        self.dropout = nn.Dropout(p=0.2)\n",
    "        \n",
    "    def forward(self, x):\n",
    "        # make sure input tensor is flattened\n",
    "        x = x.view(x.shape[0], -1)\n",
    "        \n",
    "        # Now with dropout\n",
    "        x = self.dropout(F.relu(self.fc1(x)))\n",
    "        x = self.dropout(F.relu(self.fc2(x)))\n",
    "        x = self.dropout(F.relu(self.fc3(x)))\n",
    "        \n",
    "        # output so no dropout here\n",
    "        x = F.log_softmax(self.fc4(x), dim=1)\n",
    "        \n",
    "        return x\n",
    "```\n",
    "\n",
    "During training we want to use dropout to prevent overfitting, but during inference we want to use the entire network. So, we need to turn off dropout during validation, testing, and whenever we're using the network to make predictions. To do this, you use `model.eval()`. This sets the model to evaluation mode where the dropout probability is 0. You can turn dropout back on by setting the model to train mode with `model.train()`. In general, the pattern for the validation loop will look like this, where you turn off gradients, set the model to evaluation mode, calculate the validation loss and metric, then set the model back to train mode.\n",
    "\n",
    "```python\n",
    "# turn off gradients\n",
    "with torch.no_grad():\n",
    "    \n",
    "    # set model to evaluation mode\n",
    "    model.eval()\n",
    "    \n",
    "    # validation pass here\n",
    "    for images, labels in testloader:\n",
    "        ...\n",
    "\n",
    "# set model back to train mode\n",
    "model.train()\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> **Exercise:** Add dropout to your model and train it on Fashion-MNIST again. See if you can get a lower validation loss."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Classifier(nn.Module):\n",
    "    def __init__(self):\n",
    "        super().__init__()\n",
    "        self.fc1 = nn.Linear(784, 256)\n",
    "        self.fc2 = nn.Linear(256, 128)\n",
    "        self.fc3 = nn.Linear(128, 64)\n",
    "        self.fc4 = nn.Linear(64, 10)\n",
    "\n",
    "        # Dropout module with 0.2 drop probability\n",
    "        self.dropout = nn.Dropout(p=0.2)\n",
    "\n",
    "    def forward(self, x):\n",
    "        # make sure input tensor is flattened\n",
    "        x = x.view(x.shape[0], -1)\n",
    "\n",
    "        # Now with dropout\n",
    "        x = self.dropout(F.relu(self.fc1(x)))\n",
    "        x = self.dropout(F.relu(self.fc2(x)))\n",
    "        x = self.dropout(F.relu(self.fc3(x)))\n",
    "\n",
    "        # output so no dropout here\n",
    "        x = F.log_softmax(self.fc4(x), dim=1)\n",
    "\n",
    "        return x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = Classifier()\n",
    "criterion = nn.NLLLoss()\n",
    "optimizer = optim.Adam(model.parameters(), lr=0.003)\n",
    "\n",
    "epochs = 30\n",
    "steps = 0\n",
    "\n",
    "train_losses, test_losses = [], []\n",
    "for e in range(epochs):\n",
    "    running_loss = 0\n",
    "    for images, labels in trainloader:\n",
    "        \n",
    "        optimizer.zero_grad()\n",
    "        \n",
    "        log_ps = model(images)\n",
    "        loss = criterion(log_ps, labels)\n",
    "        loss.backward()\n",
    "        optimizer.step()\n",
    "        \n",
    "        running_loss += loss.item()\n",
    "        \n",
    "    else:\n",
    "        test_loss = 0\n",
    "        accuracy = 0\n",
    "        \n",
    "        # Turn off gradients for validation, saves memory and computations\n",
    "        with torch.no_grad():\n",
    "            model.eval()\n",
    "            for images, labels in testloader:\n",
    "                log_ps = model(images)\n",
    "                test_loss += criterion(log_ps, labels)\n",
    "                \n",
    "                ps = torch.exp(log_ps)\n",
    "                top_p, top_class = ps.topk(1, dim=1)\n",
    "                equals = top_class == labels.view(*top_class.shape)\n",
    "                accuracy += torch.mean(equals.type(torch.FloatTensor))\n",
    "        \n",
    "        model.train()\n",
    "        \n",
    "        train_losses.append(running_loss/len(trainloader))\n",
    "        test_losses.append(test_loss/len(testloader))\n",
    "\n",
    "        print(\"Epoch: {}/{}.. \".format(e+1, epochs),\n",
    "              \"Training Loss: {:.3f}.. \".format(train_losses[-1]),\n",
    "              \"Test Loss: {:.3f}.. \".format(test_losses[-1]),\n",
    "              \"Test Accuracy: {:.3f}\".format(accuracy/len(testloader)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "%config InlineBackend.figure_format = 'retina'\n",
    "\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1226ff908>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvgAAAH0CAYAAABICFkFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzs3Xd4VFX+x/HPSQ+kUEISioQiTUEREKRIFVSkrYoFRfRnV0RdXF1Xsa+4Kq4FCyuKdRcB2cCioC69d1lQQETpvQcIIeX8/pjJZCYFEjLJZGber+fJM7nn3nvuCfrHJyfnfo+x1goAAABAYAjx9QAAAAAAeA8BHwAAAAggBHwAAAAggBDwAQAAgABCwAcAAAACCAEfAAAACCAEfAAAACCAEPABAACAAELABwAAAAIIAR8AAAAIIAR8AAAAIIAQ8AEAAIAAQsAHAAAAAggBHwAAAAggBHwAAAAggBDwAQAAgAAS5usBVHTGmN8lxUna4uOhAAAAILDVk3TMWlu/NJ0Q8M8uLjo6ulqzZs2q+XogAAAACFzr169Xenp6qfsh4J/dlmbNmlVbuXKlr8cBAACAANa6dWutWrVqS2n7YQ0+AAAAEEAI+AAAAEAAIeADAAAAAYSADwAAAAQQAj4AAAAQQAj4AAAAQAAh4AMAAAABhIAPAAAABBACPgAAABBACPgAAABAACHgAwAAAAGEgA8AAAAEEAI+AAAAEEAI+AAAAEAAIeADAAAAAYSAX4GdzsrR7qPpvh4GAAAA/AgBvwLKzM5Rm5f+q8ZPT1env81Wdo719ZAAAEAZO378uIwx6tOnT6n7atOmjWJiYrwwKu8ZPXq0jDGaNGmSr4cS8Aj4FVB4aIiycnIkSdk5VgdPZPh4RAAABC5jTIm+PvnkE18PGTijMF8PAIVLjovSkZOZkqS9RzOUGBvl4xEBABCYnn322QJtb775po4ePaqHH35YVapU8TjXsmXLMhlH5cqVtX79eq/MvH/99dfKyGCCMFgR8CuopLgobdiTJknac+yUWijexyMCACAwPffccwXaPvnkEx09elSPPPKI6tWrVy7jMMaoadOmXukrJSXFK/3AP7FEp4JKiot0fb/n2CkfjgQAABQmd517enq6nn76aZ1//vmKiIjQ0KFDJUkHDx7UK6+8oi5duqhWrVqKiIhQUlKSrrvuOq1atapAf0WtwX/sscdkjNGKFSv05ZdfqnXr1oqOjlZCQoIGDx6sffv2FTk2d9OmTZMxRq+//rqWLVumK6+8UvHx8YqJidEVV1yhlStXFvpzbtu2TbfeeqsSEhJUqVIltW7dWl999ZVHf6W1ePFi9e/fXwkJCYqMjFSDBg30yCOPaP/+/QWu3bVrlx5++GE1btxYlSpVUtWqVdWsWTPdeeed2r59u+u6nJwcffjhh2rXrp0SEhIUHR2tunXrqnfv3kpNTS31mCsyZvArqOS4vCU5+wj4AABUSDk5OerTp482btyoK6+8UtWrV3fNnq9evVrPPvusunbtqv79+ys+Pl6///67pk6dqmnTpumHH35Q586di/2sV199VdOmTVP//v3VrVs3LVy4UF988YXWrVunFStWKDQ0tFj9LFiwQE8//bS6du2qu+++W7/99ptSU1PVtWtXrVu3zmP2f8eOHWrfvr127dqlHj166NJLL9XOnTs1ZMgQXX311SX7xyrChAkTdMsttyg0NFQDBw5UnTp1tGTJEr311luaMmWKFi5cqFq1akmSjh07pnbt2mnXrl3q1auXBgwYoMzMTG3dulWTJk3S4MGDdd5550mSHnnkEb3zzjtq1KiRbr75ZsXExGjXrl1aunSpUlNTNWDAAK+MvyIi4FdQSfF5AX/PUQI+AAAVUXp6utLS0rRu3boCa/VbtWqlPXv2qGrVqh7tmzdvVrt27TR8+HAtX7682M+aOXOmfvzxRzVu3FiSZK3VgAEDNHXqVH333Xfq3bt3sfqZMmWKJk6cqOuvv97VNmrUKD322GN699139eqrr7rahw8frl27dumFF17QiBEjXO0PPPCAOnXqVOyxF+XQoUO66667ZIzRggUL1KZNG9e5ESNG6KWXXtLQoUM1efJkSdI333yjHTt26Omnn9aLL77o0depU6eUlZUlKW/2vmHDhlq7dq0iIyM9rj1w4ECpx16REfArKPcZfJboAAB8pd6fv/H1EIptyyvX+OS5I0eOLBDuJalatWqFXt+wYUP169dP48aN08GDB1W9evViPedPf/qTK9xLjjX7d911l6ZOnaply5YVO+BfeeWVHuFeku655x499thjWrZsmastLS1NkydPVmJiov70pz95XH/ZZZdp4MCBGj9+fLGeWZSJEycqLS1Nd999t0e4l6SnnnpKY8eO1ZQpU3TgwAElJCS4zkVHRxfoKyrKsyCJMUYRERGF/mXDva9AxBr8CirJY4kOb8EDAFBRtW3btshzs2fP1rXXXqs6deooIiLCVWpz3LhxkhzryYsrfwCW5FqOcvjw4VL1Exsbq/j4eI9+1q1bp6ysLLVu3bpAeJbklRn83HcRunfvXuBcVFSUOnTooJycHK1Zs0aS1LNnT9WoUUMjRoxQnz599O677+rHH39UjrO8eK6QkBDddNNNWr9+vZo3b64RI0bo+++/V1paWqnH7A+Ywa+gkpjBBwCgwqtUqZJiY2MLPffFF1/otttuU0xMjHr27Kn69eurcuXKMsbo+++/1+LFi0tUyrKwvxKEhTmiXHZ2dqn6ye3LvZ+jR49KkpKSkgq9vqj2ksh9Rs2aNQs9n9t+5MgRSY6Z96VLl+q5557TtGnT9M0337jGMmzYMD3xxBOuGfsxY8aoadOm+vTTT/XSSy9JksLDw9WvXz+NGjUqoCsNEfArqOqVIxQeapSZbXU0PVOnMrMVFV68l2cAAPAWXy178RfGmCLPPf3004qNjdXq1avVoEEDj3ObNm3S4sWLy3p4pRIXFydJ2rt3b6Hni2ovifh4RxnwPXv2FHp+9+7dHtdJUv369fXpp58qJydH69at08yZMzV69Gg99dRTCg0N1RNPPCHJEeYff/xxPf7449qzZ4/mz5+vL774Ql9//bU2bNigNWvWFPvFZH/DEp0KKiTEeGxuxYu2AAD4j6ysLG3dulUtW7YsEO4zMzMrfLiXpBYtWigsLEwrV67UqVMFc8iCBQtK/YxLLrlEkjRnzpwC5zIyMrR48WIZYwrdXCwkJEQXXXSRHn30UU2bNk2Siix/mZycrIEDB2rKlClq27atfvrpJ/3666+lHn9F5bWAb4ypY4z52BizyxiTYYzZYox50xhT9ex3F+irhTHmM2PMdmdf+4wxc40xtxVx/QXGmAnO604ZYzYaY543xhR8A8OPJLrVwt/LMh0AAPxGWFiYateurZ9++smjYktOTo6efPJJ/f777z4cXfHExsZqwIAB2rdvn1577TWPc0uXLtXEiRNL/YwbbrhBMTExGjdunGudfa6RI0dq9+7drvr4kvTjjz9qx44dBfrJ/WtCpUqVJDn2FJg7d26B6zIyMlzLggp7UTdQeGWJjjGmoaRFkhIlTZG0QVJbSQ9LusoY09Fae7CYfd0uaaykk5KmSdoiqYqk5pJ6S/os3/XtJM2SFC5pkqTtkrpLekZSD2NMD2utX76lSiUdAAD816OPPqrHHntMF110ka699lqFhIRo7ty52rJli66++mpNnz7d10M8q1GjRmnBggV65plnNG/ePF166aXasWOHJkyYoL59+yo1NVUhIec+X1ytWjX94x//0ODBg9W+fXsNHDhQtWvX1pIlSzR79mydd955Gj16tOv6adOm6dlnn1WnTp3UpEkTJSQkaOvWrZoyZYpCQ0P12GOPSXKs2e/atasaNmyotm3bqm7dujp58qRmzJihTZs2adCgQapbt26p/30qKm+twX9PjnA/zFr7Tm6jMeYNSY9K+quk+87WiTHmMjnC/TpJV1lr9+Q7H57vOFTSOEmVJPW31k51todImiDpOufzXznnn8yH3F+0ZQYfAAD/8sc//lExMTEaPXq0Pv74Y1WuXFldu3bVhAkT9OGHH/pFwK9bt66WLFmiJ598Ut99950WLFigCy64QJ9++qnS09OVmprqWqt/rm6++WbVrVtXr7zyiqZNm6a0tDTVqlVLDz30kJ5++mklJia6ru3Xr5/279+v+fPna/LkyTp+/Lhq1qypvn37avjw4a4KQdWrV9fLL7+s2bNna/78+dq/f7/i4uLUqFEjPfHEExoyZEipxlzRGWtt6TowpoGkzXLMtDe01ua4nYuVtFuSkZRorT1xlr7mSbpcUgtr7bpiPLu7pJmS5llruxQxrq2S6ttz/EGNMStbtWrVqqjtm8vSB3M365XpGyRJ/9exvp7pe0G5jwEAAKAwDz/8sN5++20tWLBAHTt29PVwAkLr1q21atWqVdba1qXpxxtr8HMLl37vHu4lyVqbJmmhHDPsl52pE2NMHTnC/QpJPxljuhljHjPGDDfG9HDOyhf17Bn5T1hrf5P0i6QUSQ3yn/cHSe5r8NOYwQcAAOWvsFr9y5cv1z/+8Q/VqlVL7dq188GocCbeWKLTxPn5SxHnN0nqJamxHLPtRbnU7fpZkrrmO7/WGHOttdb9lefiPLux82vzGZ4tY0xRU/RNz3RfWfJYokMVHQAA4APNmjVTq1atdOGFFyoqKkobN250LS969913XbX4UXF4YwY/tzDp0SLO57YXvqtCntwFVjdIaibpWmff50v6XFILSd8YYyLK4NkVEi/ZAgAAX3vggQd06NAhffnll3rrrbe0dOlS9enTR/PmzdOAAQN8PTwUojx+5crdAeJsa+BD3T7vstZOcx4fM8YMkSP0t5Hjxdl/efnZKmqtk3Nmv1Uxn+dV7jP4+45lyFp7xg01AAAAvG3kyJEaOXKkr4eBEvDGDH7uLHl8Eefj8l1XlMPOzwxJ37qfcL4gO8V52LYMnl0hVY4MU2yk43ew09k5Onwy08cjAgAAQEXnjYC/0fnZuIjzjZyfRa2Tz99PWv6XdZ1yfwFw35XAW8+usJLi2c0WAAAAxeeNgD/b+dkrf6UbZ5nMjpLSJS05Sz//k3RAUoIxJqmQ882dn1vc2mY5P6/Kf7GzTGZjOcpk/naWZ1dYydTCBwAAQAmUOuBbazdL+l5SPUkP5jv9vKTKkj5zr4FvjGlqjPGoTmOtzZI0xnn4qvsvC8aYFpJul5Qlx261ueZKWi+pszGmn9v1IZL+5jz84Fxr4FcESbxoCwAAgBLw1ku2D0haJOltY0wPOUJ3O0nd5Fge81S+69c7P/O/MfqypB6SbpPUwhgzR1INOV6sjZI03L1MprU22xhzhxwz+ZOMMZMkbXP20UaOGvx/99LP6BMetfAJ+AAAADgLbyzRyZ3FbyPpEzmC/XBJDSW9Lam9tfZgMfs5KUc4f16OzbEelNRPjl8eeltr3yjknqVy1NCfIke9/UfleOn2BUk9rbUZpfnZfC05niU6AAAAKD6vlcm01m6XdEcxry2y1qMz5D/n/Crus3+WNLC41/sTjyU6vGQLAACAs/DKDD7KjudmV379xwgAAACUAwJ+Bee52RUz+AAAADgzAn4FlxAToRDngqaDJ04rIyvbtwMCAADn7Ndff5UxRnfddZdH+6233ipjjHbs2FHsvurUqaPzzz/f20P0UNR4fem///2vjDF66aWXfD2UCouAX8GFhYaoRmxeJZ19LNMBAMCrBg0aJGOM3n///bNe27NnTxljlJqaWg4jK3tZWVkyxuiKK67w9VDgRQR8P8BmVwAAlJ177rlHkvThhx+e8botW7Zo5syZqlmzpvr06ePVMbz22mtav369kpOTvdpvaaWkpGj9+vXMlvsZAr4fSPQI+MzgAwDgTV27dlXjxo21evVqrVq1qsjrPvroI1lrdccddygszGuFCCVJNWvWVNOmTb3eb2mFh4eradOmFe4XD5wZAd8PJLObLQAAZeruu++WVPQsfnZ2tsaNG1dgPfrOnTv1/PPPq0OHDkpOTlZERIRq166tW265RRs2bCj284tag2+t1dtvv60LLrhAkZGRql27toYNG6Zjx44V2s+RI0f06quvqlu3bqpdu7YiIiKUmJioAQMGaNmyZR7Xjh07VuHh4ZKkmTNnyhjj+sqdsT/TGvxdu3bp/vvvV0pKiiIjI5WYmKjrrrtOq1evLnDt2LFjZYzRF198oZkzZ6pLly6KiYlRfHy8+vbtq40bNxb73+pMNm7cqMGDB6tWrVqKiIhQrVq1NGTIEG3evLnAtceOHdPzzz+v5s2bKzY2VrGxsTr//PN18803F/gZUlNT1b17dyUnJ7v+O3Tt2lUffPCBV8btbRXr10QUis2uAAAoW0OGDNFTTz2lf/7znxo1apQqVarkcX769OnauXOnevbsqfr167vaZ8+e7QrUl1xyiSpXrqxNmzZpwoQJ+s9//qNFixapefPm5zyuoUOH6r333lOtWrV07733KiwsTKmpqVq2bJkyMzMVFRXlcf26dev09NNPq0uXLurbt6+qVKmirVu3aurUqfr222/17bffutbbt2rVSiNGjNCLL76o+vXr67bbbnP107lz5zOOa/PmzerUqZP27NmjK664QoMGDdK2bds0ceJEffPNN/r3v/+tq6++usB9qampmjJlinr37q37779f69at07Rp07R8+XL9/PPPqlat2jn/Wy1ZskS9evXS8ePH1b9/fzVt2lQbNmzQ559/rqlTp2rmzJlq1aqVJMcvTr169dLSpUvVoUMH3X333QoNDdWOHTs0e/ZsdenSRZdccokk6b333tODDz6omjVrql+/fkpISNC+ffu0Zs0affrpp7rvvvvOecxlxlrL1xm+JK1s1aqV9aWJK7bblCem2ZQnptmH/rnKp2MBACBQ3XDDDVaSHTduXIFz/fr1s5LsxIkTPdr37Nlj09LSCly/atUqW6lSJdunTx+P9k2bNllJ9s477/Rov+WWW6wku337dlfb3LlzrSTbqFEje+jQIVf7yZMn7aWXXmol2YYNG3r0c/jwYXvgwIEC49myZYtNSkqyzZs392jPzMy0kmyPHj0K3HOm8Xbv3t1Ksq+88opH+7x582xISIhNSEiwJ06ccLV/+OGHVpINCwuzs2fP9rjnscces5LsqFGjCh1Dfj/88IOVZF988UVXW3Z2tm3UqJGVZMePH+9x/RdffGEl2QsvvNDm5ORYax3/fSTZ66+/vkD/WVlZHv/eF110kY2KirL79+8vcG1hbaXRqlUrK2mlLWV+ZQbfDyTF5VXRYQYfAFCunov39QiK77mjpbr9nnvu0YQJEzR27Fjdfvvtrvbdu3fr22+/VVJSkvr37+9xT1JSUqF9XXLJJerSpYtmzpyp7OxshYaGlng848aNkySNGDFCVatWdbVHR0fr5ZdfVs+ePQvcU6VKlUL7SklJ0bXXXqv3339fu3btUq1atUo8nlxbtmzRrFmzVL9+fQ0fPtzj3OWXX64bbrhB48ePV2pqqgYNGuRx/pZbblHXrl092u655x69/vrrBZYQlcT8+fO1adMmXX755brxxhsLPHP06NFasmSJFi9erA4dOrjORUdHF+grNDTU499bcryLkLucyV1CQsI5j7kssQbfD1BFBwCAste9e3c1bNhQCxcu1Pr1613t48aNU1ZWlm6//fZCQ97UqVN1zTXXKDk5WeHh4a517NOnT1d6eroOHTp0TuPJfeG3S5cuBc517txZISGFx7j58+dr4MCBOu+88xQZGekaT24Z0J07d57TeHLlrk/v3LlzoS8Fd+/e3eM6d23atCnQdt5550mSDh8+fM5jyv23yn322cbUokULtWjRQp9//rkuv/xyvfbaa1q8eLEyMzML3HvLLbcoLS1NF1xwgf74xz9qypQpOnDgwDmPtTwwg+8HkuI9X7K11soY48MRAQAQeHJfJn3yySc1duxYjRo1StZaffzxx0W+aPrGG29o+PDhqlatmq644gqlpKQoOjpaxhhNnjxZa9euVUbGuVXAO3rU8ReJwv5KEBERUWCWWZImTpyom266SdHR0erZs6caNGigypUrKyQkRLNmzdL8+fPPeTz5x1WzZs1Cz+e2HzlypMC5wv7CkPtLQnb2uW/mWdIxhYWFac6cOXr++ef19ddf6/HHH5ckxcXF6fbbb9fLL7+sypUrS5Ief/xxJSYm6v3339ebb76pv//97zLGqFu3bnrttddc6/orEgK+H4iNDFOliFCdPJ2tU5k5OpaepfhKBWcQAADwulIue/E3d9xxh5555hl99tlnGjlypObPn6/Nmzere/fuBXaNzczM1HPPPadatWpp1apVBYL4/PnzSzWW+HjH8qi9e/eqbt26HudOnz6tw4cPFwjMI0aMUFRUlFauXKkmTZp4nNu+fXupx+Q+rj179hR6fvfu3R7XlYdzGVO1atX01ltv6a233tKmTZs0Z84cjRkzRm+//baOHTvmWiIlSbfffrtuv/12HT58WIsWLdLkyZM1btw4XXnlldqwYYOqV69ehj9dybFExw8YY5TkvkwnjWU6AACUhaSkJPXr108HDhxQamqqxo4dKylvMyx3e/fuVVpamjp16lQg3B87dqzQJSolkTszPHfu3ALn5s2bp5ycnALtmzdvVvPmzQuE++zsbC1cuLDA9bnLfEoye55bXWb+/PmF3jd79myP8ZeH3DHNmTOn0PO57UWNqVGjRrr77rs1d+5cRUdHF7lTcdWqVXXNNdfoo48+0uDBg3XgwAEtWLCg1OP3NgK+n3B/0XbPUQI+AABlJbcm/qhRo/Tvf/9bCQkJ+sMf/lDgupo1ayoqKkrLly/XiRMnXO2nT5/WQw89VKo15ZLjrwmS9OKLL3osd0lPT9df/vKXQu9JSUnRxo0bPWayrbV65plnCq01HxISoqpVq2rbtm3FHle9evXUrVs3bd68We+8847HuYULF+qrr75S9erVC7yQXJY6d+6s888/X3PmzCkQzsePH69FixapWbNmat++vSTHL0Lu71nkOnz4sDIzMz3KpM6YMUNZWVke11lrtW/fPkkqUFK1ImCJjp9gsysAAMpHr169VL9+fVdVl6FDhyoiIqLAdaGhoRo6dKhef/11tWjRQv369VNGRoZmzZqlo0ePqkuXLoXOvhdX586ddf/99+v999/XhRdeqOuvv95VB79GjRpKTEwscM+jjz6qoUOHqmXLlrruuusUFham+fPn65dfflGfPn00bdq0Avf06NFDkyZNUv/+/XXJJZcoLCxMXbt2VadOnYoc25gxY9SpUyc9+uijmj59ulq3bu2qgx8WFqZPPvnEtYa9PISEhOjTTz9Vr169dN1112nAgAFq0qSJNmzYoClTpiguLk6fffaZ6x3G1atXa+DAgWrTpo2aN2+umjVrat++fZoyZYqysrL0xBNPuPq+/vrrFRsbq06dOqlevXrKzs7W/PnztWLFCrVt21bdunUrt5+zuJjB9xPuL9ruZQYfAIAyY4zRnXfe6TrOndEvzMiRI/Xqq68qMjJSY8aMUWpqqtq1a6fly5erTp06pR7L6NGj9eabbyouLk4ffPCBxo8fr969e+v7778vtKLPgw8+qI8++khJSUkaN26cvvzyS9WrV09Lly7VxRdfXOgz3nnnHd10001avHixXnzxRY0YMaLIpS65GjVqpJUrV+ree+/V+vXr9frrr2vGjBm65pprtHDhQvXp06fUP3tJdejQQcuXL9dNN92kRYsWuSrjDBo0SCtWrPCo4NOuXTv9+c9/Vnh4uKZPn65Ro0bpu+++U9u2bTVjxgwNGzbMde2rr76qdu3aaeXKlXr33Xf1ySefKDs7W6+++qpmzpxZaCUhXzPWsZkTimCMWdmqVatWK1eu9Ok4Pl7wu16Y9rMk6dbL6uqlAS18Oh4AAAB4V+vWrbVq1apV1trWpemHGXw/kexeKvNo6cpbAQAAIHAR8P1EEptdAQAAoBgI+H4iOZ6XbAEAAHB2BHw/USMmr0zmgeMZysouWPsWAAAAIOD7iYiwECXEOEp0WSvtP846fAAAABREwPcj7uvw2ewKAAAAhSHg+5FkXrQFAADAWRDw/UiiR8BniQ4AAAAKIuD7EfcZfCrpAAAAoDAEfD+SHJ9XSWcva/ABAABQCAK+H0lkBh8AAABnQcD3I7xkCwAAgLMh4PuRZF6yBQAAwFkQ8P1IlUrhighz/Cc7npGl4xlZPh4RAAAAKhoCvh8xxigpzu1FW5bpAAAAIB8Cvp/xWKZDJR0AAADkQ8D3M0lU0gEAAMAZEPD9DJtdAQAA4EwI+H7GfQZ/H5V0AAAAkA8B388kxbvN4LMGHwAAAPkQ8P0MS3QAAABwJgR8P8NutgAAADgTAr6fSXSrg78vLUM5OdaHowEAAEBFQ8D3M1HhoapSKVySlJ1jdeAEL9oCAAAgDwHfD3ludkXABwAAQB4Cvh9isysAAAAUhYDvh5Lc1uHzoi0AAADcEfD9EJV0AAAAUBQCvh9isysAAAAUhYDvh9jsCgAAAEUh4Psh95ds9x2jig4AAADyEPD9EFV0AAAAUBQCvh+qXjlC4aFGknQ0PVOnMrN9PCIAAABUFAR8PxQSYpQYy4u2AAAAKIiA76cSqYUPAACAQhDw/RSVdAAAAFAYAr6fSmKzKwAAABSCgO+nkj02u6JUJgAAABwI+H4qyX0Nfhoz+AAAAHAg4PspjyU6VNEBAACAEwHfT/GSLQAAAApDwPdT7jP4+45lyFrrw9EAAACgovBawDfG1DHGfGyM2WWMyTDGbDHGvGmMqVqCPuYYY+wZvqIKuedM1y/x1s9X0VSODFNsZJgk6XR2jg6fzPTxiAAAAFARhHmjE2NMQ0mLJCVKmiJpg6S2kh6WdJUxpqO19mAJuny+iPasItq3SvqkkPYdJXim30mKj1LavuOSHLvZVqsc4eMRAQAAwNe8EvAlvSdHuB9mrX0nt9EY84akRyX9VdJ9xe3MWvtcCZ+/5Rzu8XvJcVH61Rnw9x47pQtqxfl4RAAAAPC1Ui/RMcY0kNRL0hZJ7+Y7/aykE5IGG2Mql/ZZ8JTEi7YAAAAlwmQdAAAgAElEQVTIxxsz+N2dn99ba3PcT1hr04wxC+X4BeAySTOL06Ex5kZJ9SWdlrRe0ixr7Zl2c6pijPk/ScmSjkpaaa0N2PX3uTxq4RPwAQAAIO8E/CbOz1+KOL9JjoDfWMUM+JLG5zveZ4x50Fo7qYjrL5b0kXuDMWaNpMHW2rXFeaAxZmURp5oW535fcN/NloAPAAAAyTtVdOKdn0eLOJ/bXqUYfU2R1FdSHUnRcoTrkc57vzLGXF3IPW9I6iiphqRYSZdKmiRH6J9ljKldjOf6JY8lOmx2BQAAAHnvJdszMc7PsxZqt9b+PV/TRkl/McbskvSOpJclTc93z/B896yQNNAYM0nSdZIek+NF37M9u3Whg3fM7Lc62/2+4LnZ1ZlWMAEAACBYeGMGP3eGPr6I83H5rjsXY+UokdnSGBNbzHs+cH52LsVzKzTPza6YwQcAAIB3Av5G52fjIs43cn4WtUb/rKy1pySlOQ+LW41nfwmv9zsJMREKcf595OCJ08rIyvbtgAAAAOBz3gj4s52fvYwxHv05Z9s7SkqXdM5VbYwxTSRVlSPkHyjmbZc5P3871+dWdGGhIaoRm1dJZx/LdAAAAIJeqQO+tXazpO8l1ZP0YL7Tz8sxg/6ZtfZEbqMxpqkxxqM6jTGmQWEvxBpjEiSNcx6Ot9ZmuZ1rVVh9fWPMRXJsriVJX5T4h/Ij7uvwqaQDAAAAb71k+4CkRZLeNsb0kKN2fTtJ3eRYmvNUvuvXOz+NW1tnSWONMXMlbZZ0SFJdSb3lWN+/QtLj+foZJulaY8wsSdslZchReecqSaGSPpT0Ly/8fBVWYlyUcl9v2MsMPgAAQNDzSsC31m42xrSR9IIc4bq3pN2S3pb0vLX2UDG6WSnHbHtrSS3leDk3TdJaSRMkjbHWns53T6rzuovk2HArStJBOSrtfGitnVrKH63CS2Y3WwAAALjxWplMa+12SXcU81pTSNtaSbeX8JmpcoT8oMVmVwAAAHDnjZds4UNsdgUAAAB3BHw/lxSXV0WHGXwAAAAQ8P0cVXQAAADgjoDv55LiPV+ytdb6cDQAAADwNQK+n4uNDFOliFBJ0qnMHB1LzzrLHQAAAAhkBHw/Z4zxeNF2bxrLdAAAAIIZAT8AuL9oSyUdAACA4EbADwBsdgUAAIBcBPwA4P6i7T4CPgAAQFAj4AeApFhm8AEAAOBAwA8Aye6lMo9m+HAkAAAA8DUCfgBIYrMrAAAAOBHwA4D7DD4BHwAAILgR8ANAjZi8MpkHjmcoKzvHh6MBAACALxHwA0BEWIgSYiIkSTlW2n+cdfgAAADBioAfINzX4bPZFQAAQPAi4AeIZI8XbZnBBwAACFYE/ACRSCUdAAAAiIAfMNxn8NnsCgAAIHgR8ANEcnxeJZ29rMEHAAAIWgT8AOGx2VUaAR8AACBYEfADBFV0AAAAIBHwAwZVdAAAACAR8ANGlUrhighz/Oc8npGl4xlZPh4RAAAAfIGAHyCMMflm8VmmAwAAEIwI+AEkKY5KOgAAAMGOgB9AkqiFDwAAEPQI+AGEza4AAABAwA8g7jP4+6ikAwAAEJQI+AEkKZ5a+AAAAMGOgB9AWKIDAAAAAn4AoUwmAAAACPgBJNGtTOa+tAzl5FgfjgYAAAC+QMAPIFHhoapSKVySlJ1jdeAEL9oCAAAEGwJ+gPFYpnOUgA8AABBsCPgBhs2uAAAAghsBP8Akua3D50VbAACA4EPADzBU0gEAAAhuBPwAw2ZXAAAAwY2AH2DY7AoAACC4EfADjPtLtvuOUUUHAAAg2BDwK7KTh6Tj+0t0C1V0AAAAghsBvyLKzpSWfCC9fYn03V9KdGv1yhEKDzWSpKPpmTqVmV0WIwQAAEAFRcCviHaulGY8IZ06Iq2dIG1fXuxbQ0KMEmN50RYAACBYEfArorqXSc365h3P+LNkbbFvT6QWPgAAQNAi4FdUPV+UQiMc3+9cIa2dWOxbqaQDAAAQvAj4FVW1+tJlD+Qd//CsdPpEsW5NYrMrAACAoEXAr8guHy5VTnR8n7ZLWvh2sW5L9tjsilKZAAAAwYSAX5FFxUk9RuQdL3xLOrrjrLclua/BT2MGHwAAIJgQ8Cu6lrdIyS0c32elS/997qy3eCzRoYoOAABAUCHgV3QhodJVr+Qdr50obV92xlt4yRYAACB4EfD9Qb1OUrN+eccznpRycoq83H0Gf9+xDNkSlNgEAACAfyPg+4texS+bWTkyTLGRYZKk09k5OnwyszxGCAAAgAqAgO8vqtaT2j+Yd/zf585YNjMpnt1sAQAAghEB358UKJv5VpGXJlMLHwAAICgR8P1JZKzU45m844VvSUe2F3ppEi/aAgAABCUCvr9pOUhKvsjxfdYpaebzhV7mUQufgA8AABA0CPj+pphlM913syXgAwAABA8Cvj+q11G6oH/e8Yw/Fyib6bFEh5dsAQAAgobXAr4xpo4x5mNjzC5jTIYxZosx5k1jTNUS9DHHGGPP8BVVxH0XGGMmGGP2GWNOGWM2GmOeN8ZEe+vnq3B6viCFOpfh7FwprZ3gcdrzJduM8hwZAAAAfCjMG50YYxpKWiQpUdIUSRsktZX0sKSrjDEdrbUHS9Bl4QvLpaxCnt1O0ixJ4ZImSdouqbukZyT1MMb0sNYGXsLNLZu54A3H8X+fk5r1lSIqS/KcwWeJDgAAQPDwSsCX9J4c4X6Ytfad3EZjzBuSHpX0V0n3Fbcza+1zxbnOGBMqaZykSpL6W2unOttDJE2QdJ3z+a8U2Yk/u/yP0o9fSsf3Smm7HVV1uv1FkpQQE6EQI+VY6eCJ08rIylZkWKiPBwwAAICyVuolOsaYBpJ6Sdoi6d18p5+VdELSYGNM5dI+qxBdJDWTNC833EuStTZH0uPOw/uMMaYMnu17ZyibGRYaohqxeZV09rFMBwAAICh4Yw1+d+fn985g7WKtTZO0UI4Z9suK26Ex5kZjzJ+NMX80xlxtjIks4tLcZ8/If8Ja+5ukXySlSGpQ3Gf7nYsHSTUvdnyfdcqxVMfJfR3+vjSW6QAAAAQDbwT8Js7PX4o4v8n52bgEfY6XNFLSKEnfStpmjLm+nJ7tX0JCPMtmrpskbVsqSUr0qKTDDD4AAEAw8EbAj3d+Hi3ifG57lWL0NUVSX0l1JEVLaipH0K8i6StjzNVl9WxjzMrCvpxjqNhSOkgXDMg7dpbNTGY3WwAAgKBTHnXwc9e/27NdaK39u7V2mrV2p7X2lLV2o7X2L5KGyzHWl8vq2X7PvWzmrlXS2glsdgUAABCEvBHwc2fJ44s4H5fvunMxVo4SmS2NMbFl8WxrbevCvuQo+VnxVU2ROgzNO/7vc6pVKdt1SMAHAAAIDt4I+Budn0Wtc2/k/CxqnfxZWWtPSUpzHrpX4ynzZ/uVTo9KMUmO79N2q/X2z1yn2M0WAAAgOHgj4M92fvZy1p93cc62d5SULmnJuT7AGNNEUlU5Qv4Bt1OznJ9XFXJPAzmC/1ZJv53rs/1KZKzU41nXYZ31H6q29ktiBh8AACBYlDrgW2s3S/peUj1JD+Y7/bwcM+6fWWtP5DYaY5oaYzxeXjXGNDDG1M7fvzEmQY7NrCRpvLXWfTfbuZLWS+psjOnndk+IpL85Dz+w1gb+GvxcF98s1WwpSQrJztAT4eMlOV6yDaZ/BgAAgGDlrZ1sH5C0SNLbxpgecoTudpK6ybE85ql81693frpvQNVZ0lhjzFxJmyUdklRXUm851tivUN7mVZIka222MeYOOWbyJxljJknaJqmHpDZy1OD/u5d+Rv+QWzZznOOPGv1CF+uTrCu1KrOxjp3KUnx0uI8HCAAAgLLklSo6zln8NpI+kSPYD5fUUNLbktpbaw8Wo5uVkr6QlCjpOmcfV0laK2mYpI7W2iOFPHuppEvlKLHZS9KjcvxC8IKkntba4CsAn9JeuvAPrsNnwz+TUQ7LdAAAAIKAt2bwZa3dLumOYl5rCmlbK+n2c3z2z5IGnsu9AavnC9KGb6XsDF0c8pv+ELJAe45epsZJsWe/FwAAAH6rPOrgwxeq1JU6POQ6fCJ8vA4cOuTDAQEAAKA8EPADWadHlRaeIElKMkd03s9jfDwgAAAAlDUCfiCLjNHqRsNchy23fy4d2ebDAQEAAKCsEfAD3PGm12tNTgNJUrg9Lf3w7FnuAAAAgD8j4Ae4pPhKeiFzcF7DT5Olbee85xgAAAAqOAJ+gEuOj9JK20T/yb4sr3HGkxKbXgEAAAQkAn6AqxETKUl6JfNmnbLOTa52rZIO/urDUQEAAKCsEPADXERYiBJiIrRTNTQ/p0XeiS0LfDcoAAAAlBkCfhBIiouSJC3NaZbXuHWRj0YDAACAskTADwLJhQb8hazDBwAACEAE/CCQ6Az4P9sUnQ6t7Gg8tlM6vMV3gwIAAECZIOAHgdwZ/GyFakfMRXknti700YgAAABQVgj4QSA5PtL1/c8Rbi/asg4fAAAg4BDwg0DuS7aStFxu6/CppAMAABBwCPhBwD3gL0k/Twqv5Dg4slU6usNHowIAAEBZIOAHgWS3gL8zLUeqc2neyS2swwcAAAgkBPwgUKVSuCLCHP+pj2dkKaNOh7yTW1mmAwAAEEgI+EHAGOMxi38goU3eSV60BQAACCgE/CCRFJdXSWdbVDMp1Hl88FcpbY+PRgUAAABvI+AHCfcXbXefsFId91l81uEDAAAECgJ+kHBforPn2CkppWPeSV60BQAACBgE/CCRHJ8X8Pcdy5DquQV81uEDAAAEDAJ+kEh0n8E/ekqq01YKCXM07F8vnTjoo5EBAADAmwj4QaLAEp2ISlKtVnkXsA4fAAAgIBDwg4R7wN977JTjG49lOgR8AACAQEDADxKJbmUy96VlKCfHSimd8i7gRVsAAICAQMAPElHhoUqIiZAkZedYLfj1gFS3nWRCHRfsXSelH/bhCAEAAOANBPwgck2Lmq7vP5i7WYqMlWpe7Gyx0rYlvhkYAAAAvIaAH0TuuryBQkOMJGnR5oP6344jUkqHvAu2LPDRyAAAAOAtBPwgcl61Sup7Ub5Z/Hpu6/B50RYAAMDvEfCDzL1dGrq+n75uj7ZUvkiSY1Zfu9dIGWm+GRgAAAC8goAfZJrVjFPXJjUkSdZKY5YdlJKbO07aHGnbUh+ODgAAAKVFwA9C97vN4n+9cqdO1myXd3Ir6/ABAAD8GQE/CLWtX02X1K0iSTqdnaPpx/MCP/XwAQAA/BsBPwgZY3Sf2yz+m7/UyDu5a5V0+oQPRgUAAABvIOAHqZ7NktSwRmVJ0vaMSjpUyRn4c7KkHct9ODIAAACUBgE/SIWEGI+KOrNOnZ93kmU6AAAAfouAH8QGtKyt5LgoSdKcU43zTlAPHwAAwG8R8INYRFiI7uxUX5K0NKdZ3okdK6TMUz4aFQAAAEqDgB/kbm5XV3FRYdqvKtqc49zlNjtD2rnStwMDAADAOSHgB7mYyDDd1r6eJGlpTtO8EyzTAQAA8EsEfOj2jvUUGRaiZe7LdLaw4RUAAIA/IuBDCTGRGtimjuc6/O3LpKzTvhsUAAAAzgkBH5Kkey5vqL2murblODe9ykqXdq327aAAAABQYgR8SJLqVq+kay6q5TmLzzp8AAAAv0PAh8u9nRtomc170TZ90zwfjgYAAADngoAPl+a145Vdt6PrOGTHEik7y4cjAgAAQEkR8OHh+h4dtctWkyRF5qTr0G/LfTwiAAAAlAQBHx7aN0zQL1EXuY7XzP/Wh6MBAABASRHw4cEYo4QLuuU1bFuotFOZvhsQAAAASoSAjwKate/t+r6VXa9/Lfndh6MBAABASRDwUUBojUZKj6guSYo3JzV3wVxlZGX7eFQAAAAoDgI+CjJGEedf7jpsnL5Gqat3+nBAAAAAKC4CPgoVWq+T6/u2IRs0Zt5vys6xPhwRAAAAioOAj8Kl5NXDbxuyQb/tP64fft7jwwEBAACgOAj4KFyNplK0ox5+dZOmRman3p/7m6xlFh8AAKAiI+CjcCEhUkoH12G7kPVas/2Ilvx2yIeDAgAAwNkQ8FE0t3X47ULWS5Len7vZV6MBAABAMRDwUTSPGfwNkqzm/bJfP+066rsxAQAA4IwI+ChaUnMpMl6SlGiOqL5xvGQ7Zu5vvhwVAAAAzsBrAd8YU8cY87ExZpcxJsMYs8UY86Yxpmop+uxsjMk2xlhjzEuFnK/nPFfU1/jS/VRBLiRUSmnvOsxdpjPtf7u07eBJX40KAAAAZxDmjU6MMQ0lLZKUKGmKpA2S2kp6WNJVxpiO1tqDJewzVtKnkk5KijnL5WskpRbSvq4kz0QhUjpKv8yQJPWN/03jD3VXjpU+nP+bXhzQ3MeDAwAAQH5eCfiS3pMj3A+z1r6T22iMeUPSo5L+Kum+Evb5lqR4SSOd95/Jj9ba50rYP4rDrR5+G/0syUoymrBiux6+opESYiJ9NjQAAAAUVOolOsaYBpJ6Sdoi6d18p5+VdELSYGNM5RL02V/SHZKGSdpV2jGiFGpeLEU4/oASeXKPeiSnS5IysnL06aItPhwYAAAACuONNfjdnZ/fW2tz3E9Ya9MkLZRUSdJlxenMGJMo6UNJqdbaL4o5hlrGmHuNMX9xfl5UzPtwNqFh0nntXIcPNdzn+v7TRVt0PCPLF6MCAABAEbwR8Js4P38p4vwm52fjYvb3DznGVZIlPT0lfSDHUp4PJK0xxsw2xtQtbgfGmJWFfUlqWoJxBKZ6ect0Lspap5TqlSRJx05lafyybb4aFQAAAArhjYAf7/wsqjh6bnuVs3VkjPk/Sf0lPWCt3VuMZ5+U9KKk1pKqOr+6SJotqaukmSVZGoQiuK3DD9m2SPd0buA6Hjv/d53OyinsLgAAAPhAedTBN85Pe8aLjKkn6U1JE621E4rTsbV2n7X2GWvtKmvtEefXPDneCVgq6XxJdxWzr9aFfclRESi41WolhUU7vj+8Rdedb1wv1+45dkqpP+704eAAAADgzhsBP3eGPr6I83H5rivKx5LSJT1Q2gFZa7MkjXUedi5tf0EvLEI671LXYdTOJbqjYz3X8Zi5m5WTc8bf3wAAAFBOvBHwNzo/i1pj38j5WdQa/Vyt5Ci1ud99sypJ45znn3K2FVbvvjD7nZ8s0fGGlE55329ZoFsvS1FMpKPK6ub9J/Tf9cVZUQUAAICy5o06+LOdn72MMSHulXScm1V1lGNmfslZ+vlMjmo7+TWSYxb+R0krJa0u5rhyq/b8VszrcSZuL9pq60LFR4frlnZ1NWae45/37VmbdHmjGoqOCPXRAAEAACB5YQbfWrtZ0veS6kl6MN/p5+WYQf/MWnsit9EY09QY41Gdxlo7zFp7V/4v5c3gf+Nse9etn3bGmIj8YzLGdJdjgy1JKm6pTZxJ7dZSqPOf+uCvUtpe/V+n+ooIdfwvtG7nMQ35eJmOncr04SABAADgrZdsH5C0T9LbxphUY8xIY8wsOUL2L5Keynf9eudXaf1N0k5jzERjzN+dXzMlzZQUKWmEtXaRF56D8Gipdpu8460LlRQXpUd75q3MWrblkAZ9uEQHj2f4YIAAAACQvBTwnbP4bSR9IqmdpOGSGkp6W1J7a+1BbzynEJ/LUS3nUkl3y/GLRiNJEyR1tta+VEbPDU75lulI0v1dG+qp3s1czet2HtMNYxZr15H08h4dAAAA5J01+JIka+12SXcU81pz9qtc134ixy8OhZ37SNJHxe0LpZTSUdJrju+3LHQ13925geKiw/Tk5LXKsY6Xbgd+sFif39lWDWrE+GasAAAAQao86uAjUJzXVgpx/k64f710Iu8PMzdeWlejB7VSeKjjd7edR9J1w5jF+mnX2aqjAgAAwJsI+Ci+iMpSrUvyjrd5vt7Qu0VNjR1yqaLDHZV0Dhw/rZv+sUQrthwqz1ECAAAENQI+SibFbR2+2zKdXF0a19AXd7VVbJRjpj/tVJZu/Wip5mzcV14jBAAACGoEfJRMPbcNr7YuKPSS1inV9NU97ZUQ4yireSozR3d/tkLT/rerPEYIAAAQ1Aj4KJnz2knG+b/NnnVS+uFCL7ugVpwm3tdBtatES5Iys60e+tdq/WvZtvIaKQAAQFAi4KNkouKk5IucB1batrTIS+snVNak+9urYY3Kjqut9OTktRozd3M5DBQAACA4EfBRcsVYppOrZny0JtzbXi1qx7vaRk7foFdnbJC1tqxGCAAAELQI+Ci5s7xom1/1mEj98+52ale/mqvtvTmb9XTqOuXkEPIBAAC8iYCPkktpL8m5V9nuNVJG2llviY0K16f/11Y9mia62r5cuk2PfPWjMrNzymigAAAAwYeAj5KLriolXej43mZL24teh+8uKjxUHwxurf4ta7napq7ZpXs/X6n009llMVIAAICgQ8DHuSnhMp1c4aEh+vsNLTX4shRX26wN+zTk42U6dirTmyMEAAAISgR8nJt6bgF/a/EDviSFhBi90P9CDe12vqtt2ZZDGvThEh08nuGtEQIAAAQlAj7OjfsM/s5V0umTJbrdGKPHrmyip3o3c7Wt23lMN4xZrF1H0r01SgAAgKBDwMe5qZwgJTRxfJ+TKe1Ydk7d3N25gf52XQuFON/Z3bz/hAZ+sFi/7T/upYECAAAEFwI+zp3HMp1F59zNjZfW1ehBrRQe6kj5O4+k64Yxi/XTrqOlHSEAAEDQIeDj3J3ji7aF6d2ipsYOuVTR4aGSpAPHT2vgB4v17drdpeoXAAAg2BDwce7cA/6OZdL+X0rVXZfGNfTFXW0VGxUmSTp5OlsPfLlKr0zfoGw2xAIAACgWAj7OXVxNqWZLx/fZp6WvbpUySrd2vnVKNU26r4NSqldytX0wd7OGfLxMh0+cLlXfAAAAwYCAj9Lp944UFuX4/sBGaepQyZZutr1JcqymDu2kbk1quNoW/HpAfUcv0LqdrMsHAAA4EwI+SqfmRVKfN/OOf/q3tOS9UncbHx2uj4ZcqmE9GrnadhxO13XvL9K/V+8odf8AAACBioCP0mt5s9Tmzrzj70eU+qVbybEh1h97NtY/BrdWTKRjXX5GVo4e/WqNnpv6kzKzc0r9DAAAgEBDwId3XDVSqt3G8b3NlibeLh3zTgWcXhcma8rQjjo/McbV9smiLbpl7FLtT2PnWwAAAHcEfHhHWKR0w2dSpQTH8Yl90sQhUpZ3XoxtWCNGqQ921FUXJrvalv1+SH3fWaDV2w575RkAAACBgIAP74mvLV3/sWSc/1ttXyr9MMJr3cdEhun9W1vpT1c2kXHufLvn2CndOGaJ/rVsm9eeAwAA4M8I+PCuBl2kHs/mHS/9QPrfRK91b4zRg93O1yd3tFV8dLgk6XR2jp6cvFZPTv6fMrKyvfYsAAAAf0TAh/d1fFhq1jfveOpD0p51Xn1El8Y19J+hndSsZpyr7V/LtuvGMUu0+2i6V58FAADgTwj48D5jpP7vSdWdJS6z0qUJg6X0I159TN3qlTT5/g7q37KWq+3H7UfU950FWvrbQa8+CwAAwF8Q8FE2ouKkG7+Qwis7jg/9Jv37PinHu6UtoyNC9eaNLTWizwUKDXEszD9w/LRuGbtU4xb+LlvKTbcAAAD8DQEfZSexqdR/dN7xL9OlBW94/THGGN3Zqb6+uLOdqleOkCRl5Vg9/5+fNXzCGqWfZl0+AAAIHgR8lK3m10rth+Ydz3pJ+nVmmTyqfcPq+s9DnXRxnXhX2+TVO3Xd+4u0/dDJMnkmAABARUPAR9m74jkppaPzwEpf3yUdKZuylrWqROure9vrxjbnudp+3n1MfUcv0PxN+8vkmQAAABUJAR9lLzRcun6cFOPcpCr9kDThNinzVJk8Lio8VK9c10J//UNzhYc61uUfOZmpIR8v07uzf1V2DuvyAQBA4CLgo3zEJkk3fCqFhDmOd62Wpj9eZo8zxuiWdikaf097JcZGSpJyrPTadxt18z+WsGQHAAAELAI+yk/dy6QrX847XvWptOqzMn1k65Sqmjasky6tV9XVtmzLIV391nxNXrWDKjsAACDgEPBRvtreI7UYmHf8zWOO2fwylBgbpX/dfZkeuaKRq5Tm8Yws/XHCGg3952odOXm6TJ8PAABQngj4KF/GSH3fkhIvcBxnZ0hf3SadPFSmjw0LDdEjVzTWpPvaq171Sq72b9bu1pVvztOCTQfK9PkAAADlhYCP8hdR2bEJVmSc4/joNunrO6Wcsq9Xf0ndqvpm2OW6uW1dV9veYxm69aOlev4/P+lUJjXzAQCAfyPgwzeqN5T+8EHe8eZZ0pyR5fLoypFhGnltC314WxvXxliSNG7hFvUbvUA/7zpWLuMAAAAoCwR8+E7Ta6TLh+cdz3tN2ji93B7f84IkzXiks7o3TXS1/bL3uPq/u0Bj5m6mnCYAAPBLBHz4VrenpAbd8o4n3ysd3Fxuj68RG6mPhrTRX//QXNHhoZKkzGyrkdM3aNCHS7TjMOU0AQCAfyHgw7dCQqXrPpLinTvPZhyVvhosnS6/YJ1bM/+bYZ10cZ14V/vS3w/p6jfnK3X1TsppAgAAv0HAh+9Vri7d8JkU6lwPv+8nadojUjmH6gY1YjTp/g4a1qORnNU0lZaRpUe++lEP/Wu1jp7MLNfxAAAAnAsCPiqG2q2k3q/nHf/vK2n+6+VSWcddeGiI/tizsSbe10F1q+WV05z2v9266q15WvQr5TQBAEDFRsBHxdF6iHTJ4LzjWS9J77WXfkqVcnLKdygpVfXtw5frxjbnudp2Hz2lQWOX6qVpP1NOEwAAVFgEfFQsvV+XarfOOz6wUZo4RPqwq7Tph3JdthMTGaa/XX+RxgxurWpu5TTHLvhdA95dqPW7KacJAAAqHgI+KpbwKOm2qVLXJ6WI2Lz23WukL6+Xxl0tbVlYrkO68sJkzXjkcnVtUsPVtmFPmvqP/n/27js+qipt4PjvpPeEhD10VkoAACAASURBVCQk9N57BwERREBRLIh1rYi9rfuq677vrrvr6q517ViwN0DEAghILwLSI723hAQSSK8z5/3jTJj0QqYleb6fTz4zt8y9J5lM8txzz3metby/6hBWSacphBBCCA8iAb7wPP4hcPFT8OgOGPYw+ATYtx37FT6eCJ9dAye3uKxJMaEBfHT7QP5xVXcCfM3HpsBi5bkFu5n05hp+2J5IkcW1w4iEEELUU5KZTTiZBPjCcwVFwrh/wMPbYODd4OVr33ZwKbw/Gr65BVJ2u6Q5SiluHdqGnx4aQc/m9nSaOxMzePirrYx6cQUz1xwmO7/IJe0RQghRz1itMOs2+GcsrH/H3a0RDZgE+MLzhcXB5S/DQ5ug902gSvza7v7RTMSdOx3SDrukOR1iQph7/zAevqQD/j72tpw8l8vff9rFsBeW8eKiPaRk5rmkPUIIIeqJwytg1zyw5MOiP8OJTe5ukWigJMAX9UeTNnD1O3D/euh2VYkNGnZ8DW8OgJ8eg4xEpzfF19uLx8d1Zt1Tl/DImI40CbLfXUjPLeSt5Qe56IXlPDlnBwdSMp3eHiGEEPXA9m/sz7UVvn8AivLd1x7RYCmp0Fk1pdTmfv369du8ebO7myLKStxmUmkeWFJ6vU+AGdJz0eOmiJYL5BZYmLPlBB+sPsTR1PJVeMd2jWHaiHYMahuJUsolbRJCCOFBCrLhxY5QmF16/cj/gUuecU+bhMfp378/W7Zs2aK17l/93pWTHnxRf8X3gVvmwB0/Q+vh9vVFefDrm/DfXrDsOchLd3pTAv28uXVIa5b98WLeubkffVpGlNr+y+4Upr63nslvr2NBQhIWybwjhBCNy+6f7MG9tz31MmtegVMJ7mlTQ5B6EBLmQKEMiy1JAnxR/7UeCrfPh1vmQlwf+/qCLFj1H3itF6x5FQrK96w7mreXYkLPOL67fxiz7x3K2K6xpbZvP36O+7/YwuiXVvDpr0fILZCCWUII0Sjs+Nr+fNT/QKuh5rm1yAzVsUiChlpLOwQzRsG3d8HXN0p2ohIkwBcNg1LQYQzcswKmfg7RXezb8s7BL3+D1/vA6pddMkZfKcXANpF8cNsAfnl8FDcOaolfiQm5x9Jy+L/vdzLshaW8smQfZ7JkDKYQQjRYGUlwaIV9udcNcOUb4O1vlpO2w7rX3dK0ektr+OlxKLDNczu4DHbMcm+bPIgE+KJhUQq6ToL71sHV75mJucWykmHp3+HV7vD5tfD7XJfc0usQE8Lz1/Ri7ZOX8ODoDoQH2ifkns0p5PWl+xn+wjL+/F0Ch89kV3EkIYQQ9VLCbDOpFqDNCIhoCU07wuin7fuseAHO7HdP++qjhDlwaHnpdYufgdyz7mmPh5FJttWQSbb1nKUQtn4GK1+EzAp67gMioOcU6HMTxPc1FwhOlp1fxOxNx/lgzWFOnM0ttU0pGNctlok94+jbsgktIwNlUq4QQtR37wyH5N/N8yvfhH63mueWIvhgDCRtM8sth8AdC8FL+l+rlHsW3hwI2afLbxtwJ1zxquvb5CCOmmQrAX41JMBvIApzYec82PYFHFld8T4x3aDPzdBrKoREO71JRRYrC38/xXurDpFwsuKJwE2CfOndMoI+LSPo3TKC3i0iiAz2q3BfIYQQHujU7/CuLRGETwA8sR8CwkpsT4D3LjZj8QEm/AcGT3d5M+uVHx+BzR+b56HxcMlf4Pv7bRsV3P0LtBjgrtbViQT4LiIBfgN09ghs+wq2fQnpx8pv9/KBjpeZXv1Ol4G3b/l9HEhrzfpDaby36iDL91bQG1FGq8ig8wF/n5bhdI8PJ8DX26ltFEIIcYEW/wXWvWGed78GpnxUfp9lz5mkEAC+wXD/r9CktevaWJ8cWw8zL7MvT/0CulwOX14P+xebdc16wrQV4O3jlibWhQT4LiIBfgNmtcLRNbD1C9j1PRTllt8nqKnp0e9zEzTr4fQm7UvO5KftiWw7kc724+dIzy2s9jU+XooucaH0bmF6+vu0jKB9dAheXjK0Rwgh3MpqMfO+MpPM8k2zTMdRWUX5JhvM6d1mud3FcOs8lwwbrVeKCmDGSPvPqfPlcOOX5nnaYXh7iEmVDTD+BRhyn3vaWQcS4LuIBPiNRF6GKR++9Qs4vr7ifeJ6Q59boOd1EBTp9CZprTmSmsP24+fYZvvalZhBgcVa7WtD/H3o1SL8/LCePi0jaBYe4PQ2CyGEKOHgMvjsavM8OBoe3135XeETm+HDsfbJuCXH6gtj9csmWQaYOx0PboTwFvbtq16CZf8wz/1C4MHfICze9e2sA48L8JVSLYC/A+OBKCAJmAc8q7W+oCnNSqmRwHJMtp/ntNZ/qWS/YcBfgCFAAHAAmAm8obWuU6JxCfAboTMHYPuXZhhPRRNzvf2g80QzXr/9JS69BVhQZGXPqYzzAf/24+c4eLpmmXeGtoviics60b+18y9OhBBCAHPvgR3fmOeD74MJL1S9/6JnTKFGAP9weGADhMU5t431RdoheHuovYf+sudh6P2l9ykqgHcvgjN7zXK3yXD9J65tZx15VICvlGoPrANigO+BPcAgYDSwFxiutU6t5TFDgR1AUyCESgJ8pdRVwLdAHvANkAZMAjoDc7TWUy7w2yo+vgT4jZXVYlJwbf0C9swHSwW56kPjYMBdZkJUyUlTLpSeW0jCiXS2nzjH1mMm8K8qr/7oztH8cVxnejQPd2ErhRCikcnPgpc6QqGtyOI9K0y2tqoU5JgJuWmHzHLniXDDlzJUR2v4/BpzRwTMHfW7l1XcwXZ4NXxyhX355m+h41jXtNMBPC3AXwSMAx7WWr9RYv0rwGPADK31vbU85kxgMvAS8BwVBPhKqTBMb3045iJik219ALAMGArcqLX+mgskAb4ATEqu3781wX7ilvLbAyJg2IMw+F7wD3V9+0rQWpOUnne+h3/b8XNsPnqWImvpz/rEns14/NJOdIhxb3uFEKJB2v41fGfLhtO0s+mNr0mgfmQNfHy5ffnaD83Q0MYsYY6pVgugvGDasqovlr67F7Z/ZZ43aQP3rwffQKc30xEcFeDXOdGqUqodJrg/ArxVZvNfgWzgVqVUcC2OeRVwB/AwUFXZ0euAaODr4uAeQGudhxmyA1D/ZlgIzxPYBAbeDfcsN38ohj0EwTH27XnnYNk/4bWeZoxgfqbbmqqUIj4ikIk943h6Yle+mT6UpX8cxdV9m5f637Ig4RTjXl3F47O2cTwtx23tFUKIBml7ib7F3lNr3gvf5iKTy73Ywv+B7DOObVt9knsWfn7KvjxoevV3Qi79h+l4A5M5b/XLTmuep3JEJYVLbI+LtdalZv9prTOBtUAQZnx8tZRSMcD7wDyt9ec1PPfPFWxbBeQAw5RS/jU5txA1EtMVxv0THt8Fk9+BJm3t23LPmglAr/WCNa+aW7QeoHVUMK9O7cOiR0cyvnuz8+utGuZuOcnol1bwzHcJnEp3fmVfIYRo8DKS4PBK+3LP62v3+rHPQpht8mhOKix80nFtq29++Zu9oFVoPFzyTPWvCYmGsX+zL695DU7vc0LjPJcjAvzOtsfKfnLFdZc71fB472HaVZMhPZWeW2tdBBwGfIB21R1IKbW5oi+gSw3bLRobb1+TPvPB3+CqtyCiRM7i3DTzR+m/vWDtf6GgZhNhna1TbCjv3tqfHx4czshO9mJeRVbNFxuOMerF5Tw3fxdp2QVubKUQQtRzCbPt2XDajICIlrV7fUAYTHrNvvz7HNi70HHtqy+OrbcXtAKY+GLNh8H2uw1aDDTPrYUw/3Ezlr+RcESAXzxTr+JSnPb1EdUdSCl1J3AVcL/WOtmV5xbignn7Qt9b4KHNcOUbENHKvi0nFZb8n+nRX/u6mUDlAXq1iODTOwcxa/pQBrWxZ9XJL7Ly/urDjPj3Ml5ZvJeMvOrz8AshPEhRgancLdyrOHMOQO8bLuwYHS+F3jfal396DHLP1a1d9UlRAfz4qH258+XQ9YrK9y/LywuueBWUrRDkkdXmwquRcEV+v+JBZ1VeNiml2gCvAbO11rNceW6AyiYz2Hrx+zmoPaIh8/aFfn+AXjeYNJurXoL042ZbzhlY8r+w7nUY/qgZX+kX5N72AoPaRvLN9CGs2n+GlxbtJeGkuSbOLrDw+rIDfPLrUaaPasftw9oQ5Ff/KgIKUS9obVL/5WfavjJKPC+zLq/stjLLxdm+Bk6DCf8GL6ly7XKnEiD5d/PcJwC6Xnnhx7rsX3BgKWSnmGJZS/7XdCQ1Br++YS9o5RsME/9T+2M062mSX6y3TRFd9Gdz4RTYxHHt9FCO+I9d3EteWc69sDL7VWYmkAvcX81+zji3EI7j4wf9b4feN8G2L8zknuJAP/s0LH6mRKB/h9tn9iulGNUpmpEdm7JoZzKvLNnLvmQzdyA9t5D//LyXmWuO8MDo9tw0uBX+PhIwCFFneelmvs6u783cHWuRY4//2/smILz2Q/CVIncuVXJybZfL65ZCOSgSLn8JZv3BLG/5FLpfA+1H162Nni7tEKwsEdBf8pfSBa1qY/TTsPM7U9cm+zQs/Qdc8Ypj2unBHDFEx1ZNoNIx9h1tj9XNbuiHyaN/Wimli7+Aj2zbn7Gtm1eTcyulfIC2QBFwqJpzC+F4Pn4mgH9oM1z+CoQ1t2/LSoZFT8N/+8D6d6HQ/ZNblVKM79GMhY+M5LWpfWgVab/DcCYrn2d/3MUlL63km9+OUVSDarqe4MiZbH7Ynkh6jgw1Eh5k/xJTsOe3D0zA4cjgXpX4t77nJ/j8WnMxIVzDajEpHYv1usDhOSV1u6r0XYAfH/aYBA5OoTXM/6O9oFVcbxh0z4Ufzz+0dIGxTTPhxKbK928g6pwH31bk6gAmTWb7kpl0bMWqkjAXEtFa60pnGiqlXsdk2ymrIzAS2AZsBrZqrd+yveZO4EPgU631bWWOdwmwFFiltR5Vh+9P8uALxyjKN70vq18pXyE3NA4uetwM8fGQ3rZCi5XZm07wxrL9JJXJrtO2aTCPju3IpF7xeHl5VgGWQouVJbuS+WLDUdYeMPX1WjQJZN4Dw2kaIgm1GoUtn5ogq9NlJr2tj4e877nnTKXSbRUkiPPyNT29/qG2r5o8r2CdT4AZxlFcDRUgtifc8i2Exrrue22sDiw1BZkAgqPh8T2OqXaemQxvDTIpmcEMO5nw77of1xPVNud9TWgNX14P+xeb5WY9YdoKl1air6l6XehKKdUFQGu9pwbHvh3Ti19ZoauDmKE4UuhK1A+FeSYAWfOKuYVeUmg8jLAF+h4SlOQVWvhiwzHeXn6A1DLZdZqFBXB5rzgm9Y6nd4twlBurLR5Py+GrjceYtelEhZV8+7duwpfTBssQo4Zu5zyYXaK/p0lbuPTv0HWSe6uB7lsEPz5S+jMf1NRkBelyueM/72v/ayb4F2vSBm79DiKrTSon6mLuPfYJtoPvK91zXFfbvoJ5xaGUgjt/hlY1ykBef+SehTcH2tNiOvJCJu0wvD3Efmdg/AswxPNKJXlagN8eWIcZYvM9sBsYDIzGDM0ZprVOLbG/BtBaV/vXtqoA37Z9MjAHyAO+BtKAKzEpNOcA1+s6fJMS4AunKcwz6b/WvGKG7JQU1QEm/dcUPPEQ2flFfLzuCDNWHiQjr/yQgpaRgUzqFc+k3vF0aRbqkmC/yGJl2Z4UvthwjFX7T5fLgOalzAz74vXX9GvOy1N6u/VCRDjRmQPw3sVQUEGhudbD4bLn6t4TWFu5Z+HnP5uJ9yV1vxomvgTBTZ137q2fww8Pg7aY5eAYuGWOGfIgHC8/C17qCIW2bGn3rHDs75vW8MV1cOAXsxzVEe5d4zF3fR3ix0fsaTFD403137rMYShr1Uuw7B/muV+ISXMdFu+44zuARwX4AEqplsDfgfFAFGZozjzgWa11Wpl9HRbg2/YZDjyD6bEPwAwZmgm8rnXxX7YLIwG+cLrCXNj0kSmMlZ1Selv/203Bk0DPyfSanlPI+6sP8eXGY5Xmy+8QE2IL9uNoFx3i8DYkpefy9cbjfPPbcU5llJ+/EBvmz9SBrbhhYEvm70jiuQW7z297akIX7h3V3uFtEm5WmAsfjLVnLwmNN4FWXsm0gsqkHRzzv675p773ZxOwZJ2yrwuOhstfNuOqXWHvQph9u73X0j8MbvgS2o5wzfkbk+1fw3fTzfPoLqbquaM7E84dN73QBbYx+Bc9DmP/6thzuMux9TDzMvvy1M/NnTdHKiqAd4fDGdu00G6T4fpPHHuOOvK4AL+hkgBfuExBjpn8s/LfJvVdsZBmJouCo//Q1VGhxcq6g6n8tD2Rn3eeIrOCXn2A7vFhTOodzxW94mjR5MJTg1qsmlX7TvPFhmMs25OMtcyfLqVgZMdobhrcijFdYvDxNpMNtdY8+e0OZm06cX6/924dwKXdZDxyg/L9A6bHGsDbH+5abGpSrHoRNr5XeiKrbxAMfwSGPQR+wY5vS04a/Pw07CgzOrTHtTDhRQiOcvw5q3L0V/hqqn2yrbc/XPsBdKtD+kZR3qdXwaEV5vmYv5rhls7w24emaBOYHO/TlkF8H+ecy1WKCmDGSHtazM4TzYWoM+62Hl4Nn5TIp3/zt9BxrOPPc4EkwHcRCfCFy2UkwvwnYO/80uu7TjLBQVice9pVhfwiC6v2neHH7Yks2ZVMbmHFN876tYpgUu94Lu8ZR0xYzW4rp2TkMWvTcb7aeJyT58oX8Gka4s/1A1pw46BWtIys+AKioMjKLR9sYOMRczMxyM+bb+8bRtc4B976Fe6z9XMT4Be74jWTwarYmQNm4uneBaVfFxoPY/4Pek01RXEcYc8C+OnR0sPugmNMWj53XqQn74TPrrHfTVC2IkD9b3dfmxqSjER4pRtmUKCCx36/8LSO1bFa4ZNJcHSNWW7WE6YtN7VY6qvVL5u0sWBy3j+wofbVf2tj7nT7BXiTNuZui5tTVheTAN9FJMAXbqE17P4BFvypdKDgHw7j/m5KcLt7HHlx0Z3CXDMUwvaVn5vFzqOn+P1IEkdPpeJvzSNA5RNIAUHkE6DyCaKAuCArcUGaKH8LPkW59uqbQ+7FOvh+1h1M5YsNR1myK5mist31wPAOUdw0qDWXdovFz6f64Cw1K5/Jb6/leJo5T/MIk1knOtQzJjOLC3QqwQzNKR6C0msqXD2j4s/HoZUmi01yQun1cX1g/PPQetiFtyMnDRY+CQll6jT2nAIT/mPymbvb2aPw2dWQdtC+bvRfYOQT7v97Ut+VnNTcZgTc/pNzz5d6EN4ZDkW2v5uX/AVG/sm553SWtEMmbWzxZ/iyf8HQB6p+TV1lnYY3+9vvao38k/kZegAJ8F1EAnzhVrlnzT+NLZ+WXt/6IjMJt2kH17YnPwt2zoXNn8BJ5+URfijgOX4817bc+iZBvkwZ0JIbB7WibdPaD63Yl5zJNW+vIyvfDNeQzDr1XF6GmVRbHLBGd4VpS6sedmO1mAJ0S/9Rfs5L1yvh0mdrn2lm90/w02OljxccY3rIu15R+evcIeu0maiZtM2+btB0k1HEUXcxGqO3h0HKTvP8qreg7y3OP+e6N2CxLSj19oPpqyGmi/PP60ham7SiB5eZ5Wa9bHcjXJC+ctNM87kFk6b2vnUQXVlJJ9dxVIAvn2YhPFlgE1OW/LYfSwcdR9fAO8PMbU2LC4o4JW41kwVf7gw/POTU4B7g0Zw38cc+gXdQ20j+e0Mffn16DH+e2PWCgnuATrGhvHFjX4pT928+epan5yYgHR31kNbww4P24N432EyWq25MvZe3SUP78BYY8YTJG19s9w/w1mATNOWeq/wYxXLSYM5d8M3NpYP7XlPNEANPC+4BQqJN73LbEuVhNs6AuXebcdCi9k4l2IN7n4DSRamcacj90NwWA1oKzDA1a53yirje79/ag3vlZTquXJWbvt/t0GKgeW4tNPMaGtD/AunBr4b04AuPUZhrJuCufd2e9g5MEZsrX4fm/Rx7vrx0SJhteutP7Si/3cvH5PH2CzKTFn0DbY+25+fXl1+XXuTDxhN5rD6aw/ZT+eQQgD8FfOX3HKHK3HKewTWc6v8ENw1qRcfYUId+ax+sPsQ/59sz6zw5vgv3XSyZdeqV9e/Az0/Zl6/9EHpeV/vjnDsOS581v+slBUXBxU9D/zsqDjh2/WACguJ83QAhsWb8f5eJtW+HqxXlm4wvO7+zr2t/CVz/Gfg7PvNVg7boGXthsR7XwnUzXXfulN3w7ggToAKMew6GPei689eFM3Pe11TSDnhvFBTXaL3mfeh1vWvbUIYM0XERCfCFx0naYXouk7bb1ykv05sz+s91ywqiNRzfCFs+Mf/4i/M5lxTVEfrfZtINOiCH94mzOczfkcSPOxIZkDKXv3mbf47aywd1z0po1qPO5yhLa81T3ybwzabjgBl+POOW/ozr3szh5xJOcHwjfDTBnhln4N0m9WRdnNhkMt+c2Fh6fdPOJn9+x0vNcnYqLHjCDFUrqfeNZuywJ4y1rymrxcwb+O19+7r4fnDzHNdn+qmvLEXwajf7XKmb59h/V1xlxb9hxb/Mcy9fuGuRvWffkzk7531N/fxnWP+WeR4cbXLjBzZxfTtsJMB3EQnwhUeyFMGGd2DZc/ZJVmDSAl7xGnQYU7vj5aSZ6oubP7GnKSvJJ8DkC+5/G7Qa6rwJeVarCdyOrzfL8f3g7l/MsAoHKyiycsuHG9h42J5ZZ869w+gW30Ay62htcmX7O/buh9tlp8KMEZBx0izH94U7FzmmEqzWJnBf8jdIP1Z6W/sxpuLs8n9Bzhn7+tA485nrPL7u53cHrWHlf+wBIpiL+Fvnmr8nomoHfoHPrzXPg2Pg8d2uG2JSrKgAPhxr7/SJaAXTV7k1SK2WK3Le11R+Jrw5CDITzfKAu0zWKzeRMfhCNGbePiaH9/2/QruL7evPHTMTlr671wTtVdHa5AP+9m54uYsZ7lA2uI/tYVJz/nEPXDPDZBlxZrYNLy8z3MjbzywnboEN7zrlVH4+Xrx7S39aRprUaDkFFqZ9uonTmflOOZ/L5KTBr2+bseTPt4APL4P9vzSMsaVWK8ydZg/uAyJgyieOCe7B/G73uNb04I35K/iVuDg6uNQMySkZ3Pe52XwG62twD+Z7vvhJuPwVwPbZTt1vfm9SKrjYF6Vt/8b+vOd1rg/uAXz8zOfAP9wsnzsG8+733M98UQH8+Kh9ufNE6OLG+Sr+oTDhBfvypplwov536kqAL0R9FtkWbp0Hk98xwU6x7V+ZsY0Jc8r/kc86bVK6vTnAFPtImA2WEkGtbzD0vRXuXmbKoA++x7U9QdGdS6d7W/ZPOHvEKaeKDPbjw9sGEuJv/imfPJfL9M82kVdJHn+PpTUcXQffTjMXa4uehjN7zbbj6+GLa+H9S0yOdk/9p18Tq18ygXaxq2dAk9aOP49vgClS9PAWkydelflXGRoPN82GyW97di9pbQy8C6Z8bL+4zkyEmePh2Aa3Nsuj5WfBnhLpMHtNdV9bItvC5Lfsy3sX2OcFeJpf37B3JvkGmzSy7k7T2vVK6DjOtqBNLQtLxcUb6wsJ8IWo75SCPjeZXsce19rX55yBb++CL6eaHp0DS2HWH+CVrib1ZuqB0seJ72uGGjyxF656E1r0d98f3eGPQkw387wwx/T2OCkw7RQbyhs32TPrbDl2jj/Xl8w6OWnw61vw1iAztClhVumLtZISt8DXN5oJeTvnmd7w+uTgcjM8pthFjzm/5zwkxmT1uHcNdLjUBCP9/mB67TuNq/719U33yWYMuZ9tkm3eOVOddd8i97bLU+3+0T5PKboLxPV2b3u6TjJzsYot+asZCuNJ0g6ZIWHFLnnGuQWtakopc6FRnFXr1I7Sc1PqIRmDXw0Zgy/qnb0/m6EExcMYquIfZjIG9LsN4no5v221cWKTKWCE7W/U5Hehz41OO129yaxT3Fu/+WPY9X3FAX1cH9Pz3HoY/PaBmVtRdr+mnU2Bo+7XuGdYQW1kJJoLk+LhMa0vgj987/p2a+3+nkZXSNwKn19n/3krb5Pb3Ymfv3rp06vg0ArzfMxfzV0fdysqMBf7xamMQ+Ph3tUOSYhQZ1aLma9waLlZdmXO+5pa9RIs+4d57hcKD26EsHiXNkHG4AshKtZ5vCm7Pegezo+pLavlYLjqbTO2/vKXPS+4B2gxAIbcZ19e9LQZXuQkd13UlhsG2nuS/rNoD4t3nnLa+WotJw3WvWmGXn08sXxvvV+ISel4zwqYvhIG3GGGO018ER7dAUMfNOlKi53Za8azvzUQtn7umnoKF8JSCHPutAebwTFw3YfuCQoaQ3AP5m7eXYvtk2y1BebdCxvec2+7PElGoqmMDIBye2rF83z8zFCr4qFjmYkw9x7337GzWuHHh+3Bvatz3tfUsIehqa3YVUGmyaxVT0mAL0RDFBBmArs7F5lbx2D+4A+53wT/dy2GvjfXLaWmK4x+BsJtQUbuWfj5SaedSinF36/qweC2Js2h1vDoN9vYlZjhtHNWS2s4ssY2EbozLH7GTIAsKb4vTHod/rgXJr1mlssKbWZSPT6aABc9XnryaNohUyDn9X7w24cmP7onWfosHPvVPFdeJsd4qKQzdbqo9nDnYojpbl+38H9M1V5hq5tgu7vYdgSEt3Brc0qJaGnmpxQ7uBTW1DGNbF1obVLLbv3cvm7YQ46v3eIIPn62Cec2u76HlD3ua08dyBCdasgQHVHvWYrgzD5TCdc3oPr9PU3JNHQAN37j1LHXadkFTH5rLcfSzNja+PAAvn/wIqJDHZSppSayU81E6c0flw/owQTovaaYoVXxfWp//Jw02DDDpFrNSy+9LTQehj9iUqL6Bl5Q8x1mz3z4+ib78pj/gxF/dF97GqPcc/DFFHt9AJ9AuGOBZwZne+ab+QJ9boZWg513Hq1NJfGUXWb5qrdNcYxpvwAAIABJREFUh4mn+eVvsOZV81x5mWFtbUe6tg1aw6I/w/q37ev63GIqtHt5cB/z3OlmIvDlr5r5aC4kefBdRAJ8ITzA3Omw42vzPKy5uQvhxIIo+5MzuebtdWTmmywK/VpF8OW0IQT4Oj4f/3nFvfWbP4bdP5jS82XF9zNDb7pf45hqo3kZZiLZr29BTmrpbcExppdtwJ3uqWyadhhmjIJ82wVIx8vgxq89OyhoqLJT4YMxcPawWQ6JNfUpPClP/qaZ8NNj5rnyhrF/M7+/zhhWlbTD1GIAc8Hzp/2eWW/CUgSfTIJj68xycIyZMB4a65rza20uMta+Zl/Xc4q5u+CE2iYOlZ9phjS6oZ0yBl8I0XiMfx6CbJPEMk7C0r879XQdY0N5vUxmnaedlVmnINv0phenLf19Tung3i/UFF6ZvgruWW6yuDgq4A4IMz3ijybAuH+aAKBYdgos+V94rSeserF8T78zFeaZjE/FwX14K7j6XQnu3SU4ymTXKU7Fm5VssnO58neiKjtmw08lJrhqi/ndnfUHcxHr8POVyH3f5XLPDO7BjG+/bqb9b2d2ismsZnVRGuAVL5QO7rtdZZIleHpwD+Y9rQ/trIL8tRRCeL6gSJjwb/vybx84Pf3b6M4xPHN5t/PL3209yTsrDzruBNmpsPx5eLWHGdtcNm1p8/5w5ZsmbekVrzg3BZ9fsOntfHSHSRUXWiJrRG6aqUXwWk9bFddqCqg5ws9PmTR1AF6+cP3H5ndAuE/TDnDDl+b9ADM8Zfbt7p+cvWc+fDed8+PhfUoMQ9z9g6n/4MiCXZYi2/h7m943OO7YzhAWB9d+wPmEC0dWw4rnnX/e1S/DyhLFozpPhGvdNDm+kZIAXwhRP/S41gzTAEDDDw85fULoncPbcOOgEpl1ft7Lorpm1jl7BOY/Aa92N/8Ac0sEzP5hMPBumL4api2Dfre6diK0byAMng6PbDM1EUoOwchLh5X/NoH+nLtgy2emvoKjbf8GNn9kXx7/vLnYEe7XZripkVHs4DJY8Cf3FU87tMJcZGhbj3RMN3hkBwyabt8ndb8J8hPmOOach1eYOxhg7ni1G+2Y4zpT+9Fw8VP25VUvmurWzrLuzdJ3WTuMtRVR83XeOUU5EuALIeoHpUxKz+IiPGf2mZzFTj2l4tkr7Zl1AB77Zhs7Ey9gaELSdpPu8fW+Ztx7Ua59W0RrmPiS56Qt9fE3Y/0f2mImEEaWqAdQkGWGEf3woAn2X+9rCpHtnFf33v2U3aaCZLEe15oLHuE5et8Ao0pks9r8kXsqph7fCF/dZB/OFtkObv3OjC+f+B+45gN7WtjCHDM0ZeGTJk98XWwvMTyn55T60yM98k/Q7mL78txpkH7C8efZ+L7J9lWs7UiY+rn5myJcSibZVkMm2QrhYTa8Bwv/ZJ57+Zix6bHdq35NHZ3NLmDy22s5mmrPrPPpXYNo2zQEb68qJvFpbXoZ1/7Xnv+5pGa94KJHoetVnh0oWC2w8zvT83e6qpRxylyctB1lgolWQ8EvqIr9S8jPgvdHmws3gKiOZs6Bp45vbsy0NgHi+aEqCqZ+ZiqpusKpBPj4cvscgLDmcOfP5Sf9Ju+CWbeWHv7WcrDpTb6Q4kX5mfBSJ3v12umr3F+9tjayTsO7F0GW7S5ky8Fw+3zH9axv/sTkui/WahjcMsfz0zF7GMmi4yIS4AvhYaxWmHmZPW1f8wEmr7+TJ0QdSMnk6rfsmXUAfL0VLZsE0SoqiNaRQbSKCqZ1ZBCtm/jROnkJfuvfsI8lL6ndaJOKst3F9at4ktVqvp/DK82Fy9FfS9+JKMvbzwQRbUdBu1EmC1BFFzJamx7W3781y75BZohSTFenfBvCAYryTSXX4hoFPoFwx3znD6c6cwA+Gg/ZtqJ3QU1NcN+0Y8X752XAvPtgT4n8/cHRZvJpbVNGbvvSHAsguivc/2v9+vwCHFlrMusUD2sa9pCZYF9X276y/WxsMWWLgeaOilyg15oE+C4iAb4QHihlj0lTV3x7fvwLpaveOsmKvSnc+fFvWCv5sxlAPlO8VzLNez6tvEpX3bXiRWKL8eT0v5+YzoOJCPJzWLusVk1uoYWcAgu5BRbb8yJ8vb3oGhdW9V2GuijKN0MlDq80VT1PbrYHDhXxD4PWw82FTbtRpgibUua2/oIn7PtdPcPzJy8KM1H8w7GmWBqYMenTljovfea5YzBzAmTYhpb4h8PtP1U/pE1rWPe6SdmobRVdlReM+au50K5pkP7JleZ3HUwazoseu4BvwgOsedX8LIrd8KXJBnShfv/WFOMr/tnG9TE59wMj6tTMxkoCfBeRAF8ID7Xi37DiX+a5b7DpTWvS2umnXb4nhXdWHuTQ6WzOZJlJvhFk8gfvJdzms4golVlq/1ztxyzLKN63XM4JbU9DGRbgQ+uo4PO9/82bBGKxanIKTKCeZwvSSwft5nlOQRF5hdbz2/OLKi9D3yk2hNem9qVbvPPqBpyXlwFH15re/UMrTaGYqoTEmoB/z0/2i7X+t5sS9qJ+OHPABPm5Z81yTDfTox4Q7tjzZCabnvviiwnfILh1Xu0KWh1eDXPusPf+A3S5Aia/XX1700+aifFoQMFjOyG8eW2/C89gtcJXN8D+RWY5INwMN2rSpvbH2v0jzLrNfmEf2wNu+1GyXtWBBPguIgG+EB6qqABmjLQHke3HwC3fuvSWeU7yIfJWv0HY7q/wsZQeqnJWh/CJZRyfFo0jDRcE11Xw8/biics6cfdF7fByVm9+RTJPweFV9oA/o5pJfc16wV1L6mfF5cbsyFozXMdqS5nZ/hK4aZbjxnbnpMHHV0DKTrPs7WeO3/4CMthkJJrMO8c32NdFtjcTQWO7Vfoy1rwGv/zVPG870gSx9VlOmvn7mX7cLMf3hTsX1W4y7L5F8PXN9vc9ugvc9hOERDu+vY2IBPguIgG+EB7s+G/w4aWcH/d59XvQe6rzz3sqwUyc/X1u+SEp4a1g2IMU9rqJxBwvjqTmcCw1m6OpORxNy+FYag7H0nLILXRssZlAX28C/bwJ9PUmyM987U3OJK/Q3rs/tF0UL1/fm/iIQIeeu0a0htSDJs3goRWmNzXvnH27fzhMX2GyoYj6Z/s38N099uX+d8AVr9b9gjs/01w8nLT9D1beZkJvXYaUFBWYQlgb3rWv8w2CSa9Drynl99ca3hlmcv+DySzV9+YLP7+nOLEJZo63B+iD7oGJL9bstQeWwlc3gsWWqjiyPdyxAEKbOaetjYgE+C4iAb4QHm7hk/Z/1IGR8OBvENzU8eexFMHeBSbF5eFV5bfH9jTjebtfXW1GHK01pzPzOZqWw1HbBcCpjDx8vb0I8vMm0M/HPNqC9uKAPcDXm6AKtgX4eFfYM3/wdBaPfbONHSfsaT3DAnz459U9ubL3BWQRcSSrxUzYPbQCzh41Q3Pi+7i3TaJulj9furjRpf+A4Q9Xvn91CnPhiymmOBMAyjY/w0EX8QlzTD2N4qw4YILccc+BT4k5Mkk7zJwfMJOJ/7S/4UweXf+OKSxX7LqPoMc1Vb/m8Gr44jooyjPLEa3hjoX1d8iSh5EA30UkwBfCw+VnwdtD7Leae06xVW50kKwU2PIJbPoIMk6W3952JAx/1AxL8MCMGoUWK68v3c9byw+Umhw8uU88z17Vg/BAKT4jHERrmHsPJMyyrVBw/afQ7craH8tSCN/cAvt+tq+7/BUYeJdDmnpeym5znpKpNFsMMqk0iwPWRc/Yc/07+u+Lu2ltUonutg058guFe1aYysUVObYePrsGCrPNclgL03PvgvlPjYWjAnwpdCWEqN/8Q0zV1WIJs2Hf4rodU2s4tsFkhnilGyz7Z+ngXnlBt8kwbbkZi9thjEcG9wC+3l78cVxnZk0fSstI+9CcedsSmfDaKn49mOrG1okGRSlT6bbVUNsKW8B/spYdZFYLfDe9dHA/9lnHB/dgUrFOW146h/+JjWZ8+qGV5s7djln2bb0aWHYnpeCqt+wTbAsyYfZt5u5JWSc2w+fX2YP70Di47QcJ7j2UBPhCiPqv41joVeK2/U+PmbG7tVWQY4q1zBgBM8eZi4Xi8algcm6P+CM8sgOu/wSa96t7211kQJtIFjw8guv6tzi/LjE9j5s+WM/zC3eTX+TYOQGikfLxN2kXi+dSFOXClzeYFJc1obWpZlxcEwHMZ+6iRyt/TV0FhMH1n5l88MpWTyPnDHw22cwryE4x64JjSleDbSgCwmHKJ+Btm2Cb/Dss/J/S+yRth8+vNhcAYGoJ/OEHiGqP8EwyRKcaMkRHiHoiOxXeGgg5th7pQdNNyfqaSD0Iv30I2z63V8csqcUgGDQNul3VIEquL0hI4s/fJXAux37x0i0ujP/e0IeOsZ4/tthi1eQVmlSieUVWcm1pRfOLLOQVWskrtFBQZMXLS+HrrfDx8sLHS+Hj7YV3yXXeCh8vha9tvY+3wtfLC2/bY/F25aF3Zzxa6kH4YIw9fWZ0V7hrUdXpKLWGxX+xD4cBMyZ+wn9cd4fsyBqYfYc9qC9pyAMw/l+uaYc7bJppOkeKTX4X+twIyTtNFqPcNLM+MNJUwK0q65C4YDIG30UkwBeiHtkxG+bebVtQpsJty0EV72u1wP4lZtLsgV/Kb/cJhJ7XmcC+PpWjr6FT6Xn8ac52Vu8/c36dv48XT0/owh+GtnFJOs0zWfms3HuahJPp53P759oC9/xCK3lF5rlZZz2/vsBSed5/Z/D2MoF+oJ83vVtEMKx9FMM7NKVbXJhr047WN2XTZ7YbDTfPrjx9ZsnaFgC9bzQZa7xcPNggI8mWSnN96fXTVzXIvwXnaQ1zp5k7l2AyC139Lsz/o712QEC4GZbYkH8ObiYBvotIgC9EPaK1ybpxYIlZbtoZ7l1dutc9Jw22fAqbPqx42ECTtmasb5+bG3yxFqtV8/G6I7zw8x4KShTLGtkpmhev60VsmGPz0VutmoST6Szbk8KKvSnsOJlOff4XFBHky9B2UQzr0JTh7aNo2zRYevvLKpc+83YzZ6bsz6lsNpeuk+C6j6vNSOU0lkJY8n+w/m2zHNfHTD5t6O9vfha8PxrO7Cu/zS/UVKhtUae4U1RDAnwXkQBfiHrm3DF4a4h9Itiop2D002ai38YPzNje4tzN5ynoOM701rcf4/oeQzfbl5zJI19vY3dSxvl1EUG+vHBNT8b3iKvTsdNzClm1/zTL96awcu9pUrML6tpclIIAH28CfL0I8DUpQ/19bcu29X4+XlisYLFaKbJqCi1WLFZNoUVTZLVSZNEUWTVFFqvt0bbe9rx4/yJrzf9HxoUHMKx9U4Z3MD38jr5AqreqS5+55TP44UH7cvtL4MavPWM43IFfzLCdfrdBZFt3t8Y1knfB+5eY+RPFfIPh1rnQaoj72tVISIDvIhLgC1EPbZhhnyTm5QvNekDi1vL7BTaBvrfCgDsbzz/vSuQXWXhl8T7eW32oVK/6lP4t+OuV3Qnxr1lPqtaa3UmZLN9reuk3Hz1LZTGyt5eif6smjOjYlJgwfwJ8vfEvE7gH+NqXA3y8CfDzws/by2U95VqbIN9i1aRk5PProTOsPZDKuoOpnMkqe6FYWvvoYIZ3aMqw9k0Z2i6K8KBGmpJUa5MVZ8c3thUl0mfu/A7m3Anadgep5RATSPoFu625Atj2Jcy7zzz3CTRDq9qOcG+bGgkJ8F1EAnwh6iGrBWZeBid+q3h7fF8YOM0UdPF1Q1VXD7bu4BmemLWdxPS88+taRQbx6tTe9G9d8ZClrPwi1uw/w4q9KSzfm0JyRuWBb9MQP0Z1imF0l2hGdIiut0Gv1pp9yVmsPXCGdQfPsOFQGpn5RZXu76WgR/NwhraPYnj7pgxsE0mgn7cLW+xmRfnw6WQ4ts4s+wTCxU/CsufsY/Sb9YLbf6p6Iq5wnQ0zTCG64Y9Iz70LSYDvIhLgC1FPpeyGd0fYgwdvP+hxrQnsZQxpldJzC/nfeb/zw/bE8+u8FDwwugMPj+mIj5fi4Okslu8xQ29+O5JGoaXi/yVKQe8WEYzubIL6HvHhDXJiapHFyo6T6aw7YHr4Nx87W2peQ1l+3l70bRXB8A5NGd+jGZ3qQfaiOstJgw/GQtrB8tuadjLVUJ1RhVqIekQCfBeRAF+Iemz/ElOFNr4f9PuDBA+19P22k/xl3u9k5tl7pjvFhpBTYOHE2QoK4diEB/oyqlM0o7tEM7JjNFEhHjCW2sXyCi1sPnqWtQfOsPZgKgknzlU6VAmga1wYk/vEc2WfeOLCG/BdpbLpMwEiWsGdiyAs3n3tEsJDSIDvIhLgCyEas5Pncnn8m21sOJxW5X7d4sIY3SWa0Z1j6NMyAh/vxjVRuTrpuYVsOGTG7q89cIb9KVkV7qcUDG4byeQ+zZnQI67eDmGq0tF1Jn2mpQBCmsGdC+2FsYRo5CTAdxEJ8IUQjZ3Fqvlg9SFeWrz3/FCcEH8fLurQlNFdohnVKYZm4ZIxpjZSMvJYdzCVxbtO8cvulAqH8/h5e3Fx52gm923OJV1iCPBtQGP2T2yGg8tMIaXwFtXvL0QjIQG+i0iAL4QQxv7kTFbsPU335mEMaB2Jn4/00jtCRl4hi34/xffbEll38EyFQ3lC/X0Y36MZV/VpztD2UXg3wHkMQggJ8F1GAnwhhBCukpKRxw/bE/l+WyIJJ9Mr3Ccm1J9JveOZ3Kc5PZqHSXEtIRoQCfBdRAJ8IYQQ7nDwdBbfb0vk+20nOZqaU+E+7aKDmdynOVf1iad1lOSOF6K+kwDfRSTAF0II4U5aa7YdP8f32xL5aUciZ7Iqrgbcp2UEk/vEc0XveJo2wsxFQjQEEuC7iAT4QgghPEWRxcqaA2f4flsii3aeIqfAUm4fby/F1X2b8/ilnYiPaMApN4VogBwV4Nes9rgQQggh3M7H24uLO8dwcecYcgssLNmdzPdbT7Jy32mKbLNzLVbNnM0n+HF7Inde1Jb7Lm5PWEADTLcphKiUBPhCCCFEPRTo582VveO5snc8adkFzE9IYt7Wk2w+aopI5RdZeWfFQb7eeIyHx3Tk5sGtJfOREI2EfNKFEEKIei4y2I9bh7Tm2/uG8eXdg+nRPOz8trM5hTz74y7GvrKSn3Yk4u6huUUWK8v3pPDB6kNsOJSKpaoSv0KICyI9+EIIIUQDMqxDU3544CJ+3JHIi4v2cuJsLgDH0nJ48MutvN/yMH+e0IXB7aJc2q6Dp7OYvekEc7ecICUz//z6piH+jO8Ry8QecQxqGylVkIVwAJlkWw2ZZCuEEKK+yi+y8NmvR3lj2QHScwtLbRvbNZanJnSmQ0yo086flV/Egh1JzNp0nE22oUNViQz247LusUzoEcfQ9lH4SrAvGhnJouMiEuALIYSo79JzCnl7xQE+WneEgiLr+fVeCqYObMVjYzsSExbgkHNprfntyFlmbTrOgoSkCjP9NA3xZ0i7SNYfSq007Wd4oC/jusUysWccwzpE4e/j7ZD2CeHJJMB3EQnwhRBCNBQnzubwyuJ9zN16stT6ID9vpo1oxz0j2xHsf2Gjd5PSc5m75SSzNx3nSAWFuXy8FGO6xjClf0tGdY7G19sLi1Xz25E0FiYksfD3U6WG7pQUGuDDpV1jmdAzjhEdmxLgK8G+aJgkwHcRCfCFEEI0NL+fTOf5hbtZeyC11PqmIf48OrYjUwe2rNHwmPwiC7/sSmH25uOs2neaiubLdooN4foBLZnct3mVBbisVs2WY2dZkHCKhb8nkZSeV+F+wX7ejOkay8SezRjVKYZAPwn2RcMhAb6LSIAvhBCiIdJas2r/GZ5fsJs9pzJLbWsXHcyT47swrlssSqlyr92ZmM7sTSeYt+0k53IKy20P9ffhyj7xXD+gJb1ahFd4jKpYrZrtJ86x8PdTLEhIOj9RuKxAX29Gd4lmYs84RneOueC7D0J4CgnwXUQCfCGEEA2Zxar5butJXl68t1yv+cA2TXh6Ylf6tWrCuZwCvt+WyKxNx9mZmFHhsYZ3iGJK/5Zc1r2Zw3rWtdbsTMxgQUISCxKSKhz+A+Dv48WoTtHcNLgVozpF1/qiQghPIAG+i0iAL4QQojHIK7Qwc+1h3ll+kMz8olLb+rSMYFdiBgUWa7nXNY8I5Lr+LbiufwtaRgY5tY1aa/acymRhQhLzE5I4eDq7wv26NAvlnpHtmNQ73iMz8RRarB7ZLuF+EuC7iAT4QgghGpO07ALeWLafz9cfpdBScYzg5+PFhB7NuH5AS4a2i8LLyz295fuTM8+P2S87zAggLjyAuy5qyw2DWhHi5uE7KRl5zN16klmbjnPodDbRof50ig2hY0wonWJDzfPYUMIDfd3aTuFeEuC7iAT4QgghGqOjqdn8Z9Fe5u9IOr+ud4twrhvQkit7xRMe5FmB6MHTWXy+/ihfbzxObmHp1JyhAT7cMqQ1dwxr47B0oDVRaLGybE8KszcdZ/ne0zWq2hsb5k+n2FA6xoTSuZkJ+jvGhBAa4Fk/b+EcEuC7iAT4QgghGrOEE+lsPJLG8A5RdGkW5u7mVOtcTgGfrz/Kx+uOlMux7+ftxdV9mzNtZDs6xIQ4rQ0HUjKZZavaW1me/9qKDw+gY4me/k62wF8mFjcsEuC7iAT4QgghRP2TV2jh2y0n+GD1YQ6fKT9Wf2zXWO4d1Y4BbSIdcr7MvELm26r2bjl2rsJ9BrWNZOqAlozrHsuZrAL2JWeyPzmTfclZ7EvO5NDp7ArnOVSleUQgnWJDaB8dQnSoP5HBfkSF+BEZ7E9kkB+RIX4E+3nLpON6wuMCfKVUC+DvwHggCkgC5gHPaq2rr09tjvEnYDTQDWgKWIGjwBLgFa31iQpeU9U3sEFrPaQ230cFx5cAXwghhKinLFbNkl3JzFh1kK0VBN79WkUwfVR7Lu0aW+u5BCWr9s7fkVRuaBCYITdmEnJL2jYNrvJ4RRYrR9NySgX9+5OzOHQmq9L5EDXh5+NFVLAfTYKKg3/zFRXsRxPbY2Sw//l14YG+bptX0dh5VICvlGoPrANigO+BPcAgTLC+FxiutU6t/Ajnj3MAyAK2A8mAL9AXGAVkABdrrbeWeY3GXAR8XMEhT2itP7iw7+r88SXAF0IIIeo5rTWbjp5lxsqD/LI7pdz2dk2DmTayHVf3bV5tpdzkjDy+3XKC2ZtOVHh3wNdbMbZrLNcPaMmIjk3xqWPGnEKLlaOp2aWC/r3JmRw5k01RDcb115aXgiZBfkSH+tO3VQSD20YxuF0kceGBDj+XKM3TAvxFwDjgYa31GyXWvwI8BszQWt9bg+MEaK3Lla5TSk0D3gMWaq0nltmmgZVa64vr9l1U2iYJ8IUQQogG5EBKJu+tOsS8rYnlhsQ0DfHnjuFtuGVw61ITiQuKzITZWZuOs2JvSpVVe6/u25yoKqr2OkpBkZUjqdnsS87kaGoOqVkFnM0pIDW7gLTsfNKyzPP8otoN+6lMy8hAE+y3jWRIuyhaNAmUoT8O5jEBvlKqHXAQOAK011pbS2wLxQzVUUCM1rrihLXVnyMcOAcc0Fp3LLNNAnwhhBBC1FpyRh4frT3CFxuOkplXOvd/kJ83NwxsxWXdY1myK5nvtp4kNbv8hNlQfx8m9Yln6gVW7XU2rTW5hRZSswpIyy79df5CoMy6sj+LysSFBzC4bSSD20UxqG0k7ZoGe9z3X984KsB3xNTrS2yPi0sG9wBa60yl1FpM7/4QYOkFnmOS7XFHJdsjlFJ3As2AdGCz1nr9BZ5LCCGEEI1AbFgAT03owgOj2/P1xuPMXHv4fDXfnAJT+Gvm2sMVvnZIu0imDmzJ+O5xDqva6wxKKYL8fAiK9KlxIbKCIivncgo4eDqbjYfT2Hgklc1Hz5JXWPpOQFJ6HvO2JTJvWyIA0aH+DGobaYL+tlF0jAmRsfxu4ogAv7PtcV8l2/djAvxO1DDAV0rdDbQAQoCewFjMOPunKnlJb+DDMsfYDtyqtU6oyTmFEEII0TiFBvgybWQ7bhvWhh+3J/LeqkPsTa64cFZx1d7WUVVPmK3P/Hy8iAkLICYsgKHto4COFBRZSTh5jg2H09hwKI1NR9LILig9qfh0Zj7zdySdr53QJMiXgW1MD//gtpF0jQvDWwJ+l3BEgB9ue0yvZHvx+ohaHPNuYHCJ5d+Am7TWByrY9xXgW8wFRh7QBXgSuA5YppTqo7U+Wd0JlVKVjcHpUot2CyGEEKKe8vPx4tr+LbimX3NW7DvN+6sOkXAinZGdopkyoAUjOkY32gDVz8eL/q0j6d86kvsvNhl/diZmsPFwGhsOp7LxcBoZZYb2nM0pZPGuZBbvSgZMwbF+rZrQOiqIuPBA4iMCiAsPJC48gGbhAfjWcTKysHNFdYTiT0KNB/sXp7ZUSkUB/YDngM1Kqala65/L7PvHMi/fBExRSs0BrgWewEz0FUIIIYSollKK0Z1jGN05xt1N8Vg+3l70bhlB75YRTBvZDotVs/dUJhsOp7LhUBobj6SRVmbOQmZeESv3na7weEpBdIg/8RGlA//4CPtj0xD/RnuBVVuOCPCLe+jDK9keVma/GrOl1lyilPoNk3rzU6VUa611bg1e/i4mwB9Zw3NVOJnB1rPfr4ZNFkIIIYRodLy9FN3iw+gWH8Ydw9uiteZAShbrD6ex4VAqGw6ncTozv9LXaw0pmfmkZOaz7XjF+/h4KWLDAuwXABEBxIcH0iw84HxO/8ggyeMPjgnw99oeO1WyvTjrTWVj9KultT6nlPoVmAx0x/TSV6f4ErHhDpITQgghhPBASik6xobSMTaUW4e0RmvNkdQcdiVmkJSeS+K5PPOYnkfSuVxOZ+VTXWLHIqvm5LlcTp7LBSqvoVqcx7844G8S7EukrdBXqccS20P8fRpUBiBHBPjLbY/jlFJeFaTJHA7kAnXNatPc9liz3E0maw/AoTqeVwiZ5RKUAAALCUlEQVQhhBBC1IFSirZNgyut5ltQZCU5I4+k9LzSFwC2x6T0vHJDfipj1ZBqS/lZU37eXjQJ9i0V/LdsEsRTE+rnVMw6B/ha64NKqcWYTDkPAG+U2Pwspgd9Rskc+EqpLrbX7imxrjXgrbUuF5ArpaYDA4HjQEKJ9f2AvWXz6yulemHG7QN8XqdvUAghhBBCOJWfjxctI4OqTOWZV2gxFwDn7D3/iel5JGfkcTangLO2XP5lJ/vWRIHFSnJGPskZ9mFE7aKDG2+Ab3M/sA54XSk1BtiNyYIzGjM055ky+++2PZa8F9IXmKuUWmd7TTIQhemJ7wlkYdJelszJ9DBwjVJqGSb4z8dkvRkPeAPvA1856HsUQgghhBBuEuDrXeVdgGKFFqst4C8kLdtU903Ltl0A5NiLepXcJ7fQUu44UcF+zvpWnM4hAb6tF38A8HdMcD0RU8H2deBZrXVaDQ6zBXgVGAFcDkRi0l4eAl4G/qu1LjvtYh5mEm8vTMGtACAVWAi8r7X+oY7fmhBCCCGEqEd8vb2ICQ0gJjSgxq/JLbDYLwRsjyH+rkg26RwOa7kt+L6jhvuWm8WgtT4GlE15Wd1x5mGCfCGEEEIIIS5IoJ83gX6BxEcEurspDiEVBYQQQgghhGhAJMAXQgghhBCiAZEAXwghhBBCiAZEAnwhhBBCCCEaEAnwhRBCCCGEaEAkwBdCCCGEEKIBkQBfCCGEEEKIBkQCfCGEEEIIIRoQCfCFEEIIIYRoQCTAF0IIIYQQogGRAF8IIYQQQogGRAJ8IYQQQgghGhAJ8IUQQgghhGhAJMAXQgghhBCiAZEAXwghhBBCiAZEAnwhhBBCCCEaEKW1dncbPJpSKjUwMDCya9eu7m6KEEIIIYRowHbv3k1ubm6a1jqqLseRAL8aSqnDQBhwxA2n72J73OOGc4uakffIs8n74/nkPfJ88h55PnmPPF9N36M2QIbWum1dTiYBvgdTSm0G0Fr3d3dbRMXkPfJs8v54PnmPPJ+8R55P3iPP5+r3SMbgCyGEEEII0YBIgC+EEEIIIUQDIgG+EEIIIYQQDYgE+EIIIYQQQjQgEuALIYQQQgjRgEgWHSGEEEIIIRoQ6cEXQgghhBCiAZEAXwghhBBCiAZEAnwhhBBCCCEaEAnwhRBCCCGEaEAkwBdCCCGEEKIBkQBfCCGEEEKIBkQCfCGEEEIIIRoQCfA9kFKqhVJqplIqUSmVr5Q6opR6TSnVxN1tE2B7P3QlX6fc3b7GQil1nVLqDaXUaqVUhu3n/3k1rxmmlFqglEpTSuUopXYopR5VSnm7qt2NSW3eI6VUmyo+V1op9bWr29/QKaWilFJ3K6W+U0odUErlKqXSlVJrlFJ3KaUqjBHkc+Q6tX2P5HPkHkqpfyulliqljtveozSl1Fal1F+VUlGVvMapnyMfRxxEOI5Sqj2wDogBvgf2AIOAR4DxSqnhWutUNzZRGOnAaxWsz3J1QxqxvwC9MT/zE0CXqnZWSl0FfAvkAd8AacAk4FVgODDFmY1tpGr1HtlsB+ZVsP53B7ZLGFOAd4AkYDlwDIgFrgE+ACYopaboEhUx5XPkcrV+j2zkc+RajwFbgCVAChAMDAH+BtyjlBqitT5evLNLPkdaa/nyoC9gEaCBh8qsf8W2/l13t7GxfwFHgCPubkdj/wJGAx0BBVxs+3x8Xsm+YbY/uvnAgBLrAzAX1Bq4wd3fU0P7quV71Ma2/WN3t7uxfAGX2IIKrzLrm2ECSQ1cW2K9fI48/z2Sz5F73qeAStY/Z3s/3i6xziWfIxmi40GUUu2AcZgA8q0ym/8KZAO3KqWCXdw0ITyO1nq51nq/tv1lrMZ1QDTwtdZ6U4lj5GF6mQHuc0IzG7VavkfCxbTWy7TWP2qtrWXWnwLetS1eXGKTfI5c7ALeI+EGts9ARWbZHjuWWOeSz5EM0fEsl9geF1fwYc5USq3FXAAMAZa6unGiFH+l1C1AK8yF1w5gldba4t5miUoUf7Z+rmDbKiAHGKaU8tda57uuWaIC8Uqp6UAUkAr8qrXe4eY2NUaFtseiEuvkc+RZKnqPisnnyDNMsj2W/Nm75HMkAb5n6Wx73FfJ9v2YAL8TEuC7WzPgszLrDiul7tBar3RHg0SVKv1saa2LlFKHge5AO2C3KxsmyrnU9nWeUmoFcJvW+phbWtTIKKV8gD/YFksGIfI58hBVvEfF5HPkBkqpJ4AQIBwYAFyECe5fKLGbSz5HMkTHs4TbHtMr2V68PsIFbRGV+wgYgwnyg4GewAzM2MeFSqne7muaqIR8tjxfDvAPoD/QxPY1CjOx8GJgqQxPdJkXgB7AAq31ohLr5XPkOSp7j+Rz5F5PYIZUP4oJ7n8GxmmtT5fYxyWfIwnw6xdle5TxrG6ktX7WNi4yWWudo7X+XWt9L2YidCBm1ryoX+Sz5WZa6xSt9f9prbdorc/Zvlbx/+3dT8hlcxjA8e+jaFIoM403kT8jqVeK1GBqGAqlNGMhG1mwUFNSpihNjFhZYcpO04yFxVtYsLDwpyl/FmI1RQZTCtPrT2lSUo/Fc27zdt17u1f3nnOd+X42v+75nXP71a+n85x/z6+eWn4GXAU80u0o+y8iHgOeoCq4PTjr4U1rHC3QpDkyjrqVmSuZGdQNwPuou/BfRMQNM/zNXOLIBH+5DK7aLhjTf/7Qflougw+ednY6Co1ibP1PZebfVDlAMLYWKiL2Ai8Bx4Bdmfnr0C7GUcemmKORjKN2NTcA36QurDYDhzd0txJHJvjL5aumvXpM/+Ar7HHv6KtbJ5vWx5/LZ2xsNe+yXkF9qPZtm4PS1AaPt42tBYmIx4GDVJ30XU2VlmHGUYemnKNJjKOWZeYJ6mJsNSK2NJtbiSMT/OXyQdPeOWJ1uvOoxQ/+BD5te2Cays1N68lt+bzftHeP6NsJnAt8bOWPpXVT0xpbCxART1IL7HxJJY4nx+xqHHVkhjmaxDjqxsVNO6iy10ocmeAvkcw8DrxHfay5d6j7AHXVfTgzT7U8NDUiYjUiLhyx/TLqzgrA6+2OSlNYA9aBByLixsHGiNgEPN/8fLWLgalExPaIOGfE9tupVSLB2Jq7iNhPfbD5OXBHZq5P2N046sAsc2QctS8iromIlRHbz4qIF4CtVML+W9PVShyF648sl4jYRq1kthV4myqRtJ1aEfJr4JbM/KW7EZ7ZIuJZ4Cnqact3wB/ANuAeahW6d4E9mflXV2M8U0TEbmB383MFuIu6M3W02baemfuG9l+jlgZ/g1oa/F6qZNkacL8LMs3XLHPUlPBbBT4Efmj6r+N0zej9mTk4+WkOIuIh4BB1Z/EVRr/z+31mHtpwjHHUolnnyDhqX/Pq1ItUDfvj1LoDF1HVi64EfqIuzI5tOGbhcWSCv4Qi4lLgOerxzWbgR+At4MC0H9RoMSLiVuBR4HpOl8n8nXpsegQ44smtHc3F1jMTdjmRmZcPHbMDeJp6nWoT8A3wGvCyi5TN3yxzFBEPA3uo0n9bgLOBn4FPgIOZeXTcn+i/mWJ+AD7KzNuGjjOOWjLrHBlH7YuIa6mVZ3cAl1DlLU9RN2XfoeLiX7nbouPIBF+SJEnqEd/BlyRJknrEBF+SJEnqERN8SZIkqUdM8CVJkqQeMcGXJEmSesQEX5IkSeoRE3xJkiSpR0zwJUmSpB4xwZckSZJ6xARfkiRJ6hETfEmSJKlHTPAlSZKkHjHBlyRJknrEBF+SJEnqERN8SZIkqUdM8CVJkqQeMcGXJEmSeuQfoVEcj7rjc2IAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 250,
       "width": 380
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(train_losses, label='Training loss')\n",
    "plt.plot(test_losses, label='Validation loss')\n",
    "plt.legend(frameon=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Inference\n",
    "\n",
    "Now that the model is trained, we can use it for inference. We've done this before, but now we need to remember to set the model in inference mode with `model.eval()`. You'll also want to turn off autograd with the `torch.no_grad()` context."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Import helper module (should be in the repo)\n",
    "import helper\n",
    "\n",
    "# Test out your network!\n",
    "\n",
    "model.eval()\n",
    "\n",
    "dataiter = iter(testloader)\n",
    "images, labels = dataiter.next()\n",
    "img = images[0]\n",
    "# Convert 2D image to 1D vector\n",
    "img = img.view(1, 784)\n",
    "\n",
    "# Calculate the class probabilities (softmax) for img\n",
    "with torch.no_grad():\n",
    "    output = model.forward(img)\n",
    "\n",
    "ps = torch.exp(output)\n",
    "\n",
    "# Plot the image and probabilities\n",
    "helper.view_classify(img.view(1, 28, 28), ps, version='Fashion')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Next Up!\n",
    "\n",
    "In the next part, I'll show you how to save your trained models. In general, you won't want to train a model everytime you need it. Instead, you'll train once, save it, then load the model when you want to train more or use if for inference."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
